невозможно передать массив из контроллера для просмотра в cakephp 3 с помощью $ this-> set ('data', массив получен из find ()) - PullRequest
0 голосов
/ 14 мая 2019

Невозможно передать массив переменной контроллера формы для просмотра кода ниже. Если я печатаю в контроллере, он показывает «Неопределенная переменная: данные»

public function report(){
$results=$this->Nodals->find()->toArray();
$this->set('data',$results);
print_r($data); die();}

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

$ данные не определены в вашем коде, если вы хотите напечатать результат запроса из $ This-> Nodals-> найти () -> ToArray (); тогда вам нужно сохранить это в переменной $ data или любой другой переменной

$results=$this->Nodals->find()->toArray();
$this->set('data',$results);

//data will be sent to the template which wrap the $result and in template you can access $reseult by using $data
print_r($results); 
die();

или

$data=$this->Nodals->find()->toArray();
$this->set('data',$data);
print_r($data); 
die();
0 голосов
/ 14 мая 2019

Попробуйте использовать compact вот так.

public function report(){ $data=$this->Nodals->find()->toArray(); $this->set(compact('data')); };

Теперь выполните dd в своем представлении, чтобы проверить, отправляет ли переменная data в представление. Я предполагаю, что ваш файл просмотра report.ctp, поэтому в report.ctp файле напишите эту строку

<?php
  dd($data);
?>

Надеюсь, это поможет.

...