передача значений массива из контроллера для просмотра в cakephp

1

//контроллер

public function viewcategorys1() {
$this->loadModel("Category");
$total = $this->Category->find('all', array('fields' =>array('sum(Category.rate)   AS ctotal'), 'conditions'=>array('Category.parentid' => 0)));
$this->set('sum',$total);
print_r($total);
}

//Посмотреть

<?php 
foreach($sum as $ctotal):
echo $ctotal['Category']['rate'];
endforeach;
?> 

в контроллере я написал "print_r", чтобы он отображался как:

Array ( [0] => Array ( [0] => Array ( [ctotal] => 16250 ) ) )

в соответствии с кодом, написанным в файле вида, он показывает, что out:

Notice (8): Undefined index: category[APP/View/Category/viewcategorys1.ctp, line 48]
Code Context
include - APP/View/Category/viewcategorys1.ctp, line 48
View::_evaluate() - CORE/Cake/View/View.php, line 945
View::_render() - CORE/Cake/View/View.php, line 907
View::render() - CORE/Cake/View/View.php, line 471
Controller::render() - CORE/Cake/Controller/Controller.php, line 952
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 194
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 162
[main] - APP/webroot/index.php, line 96

Как напечатать значение, т.е. 16250 в моем файле view.ctp? пожалуйста помогите

  • 0
    Это все данные?
  • 0
    это работает, спасибо за помощь
Показать ещё 1 комментарий
Теги:

2 ответа

0
Лучший ответ

Вы можете напрямую распечатать итоговое значение ctp

echo $total[0][0]['ctotal'];

Другой способ - создать виртуальное поле

В Модале

public $virtualFields = array(
    'ctotal' => 'sum(Category.rate)'
);

В контроллере

public function viewcategorys1() {
$this->loadModel("Category");
$total = $this->Category->find('all', array('fields' =>array('Category.ctotal'), 'conditions'=>array('Category.parentid' => 0)));
$this->set('sum',$total);
print_r($total);
}
0

Попробуйте, если это сработает:

<?php 
  foreach($sum[0] as $ctotal):
   echo $ctotal['ctotal'];
  endforeach;
?> 
  • 0
    это работает, спасибо за помощь.
  • 0
    @ Нага Фанеендра. Рад помочь. Пожалуйста, отметьте это как принятое, если это решит вашу проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню