Русскоязычный форум, посвященный фреймворку Kohana http://forum.kohanaframework.su/ |
|
Invalid argument supplied for foreach() http://forum.kohanaframework.su/viewtopic.php?f=31&t=194 |
Страница 1 из 2 |
Автор: | websto [ 22 май 2012, 19:04 ] |
Заголовок сообщения: | Invalid argument supplied for foreach() |
Как правильно написать контролер что-бы вытащить например статьи с базы по категориям у меня так public function action_cat() { $cat = array(); $id = $this->request->param('id'); $content = View::factory('/pages/cat') ->bind('cat', $cat); $cat = Model::factory('categ')->get_cat($id); $this->template->content = $content; } Это модель public function get_cat($id = '') { $sql = "SELECT id,title,img FROM ". $this->_tableArticles ." WHERE 'cat' = :id ORDER BY id DESC LIMIT 7"; $query = DB::query(Database::SELECT, $sql) ->param(':id', (int)$id) ->execute(); } foreach($cat as $art): Видает ошибку |
Автор: | ivank_x [ 22 май 2012, 21:12 ] |
Заголовок сообщения: | Re: Invalid argument supplied for foreach() |
в конце модели забыли Код:
|
Автор: | websto [ 22 май 2012, 22:04 ] |
Заголовок сообщения: | Re: Invalid argument supplied for foreach() |
Ошибки уже нет но выводит почему-то пустую страницу var_dump выводит array(0) { } |
Автор: | ivank_x [ 22 май 2012, 22:21 ] |
Заголовок сообщения: | Re: Invalid argument supplied for foreach() |
перепишите контроллер Код:
|
Автор: | websto [ 22 май 2012, 22:32 ] |
Заголовок сообщения: | Re: Invalid argument supplied for foreach() |
не помогло также 0 в массиве пробовал в модели $result = $query->as_array(); return $result; тоже не проходит |
Автор: | websto [ 22 май 2012, 23:14 ] |
Заголовок сообщения: | Re: Invalid argument supplied for foreach() |
Может это я не все прописал! Так у меня было в процедурном стиле SELECT * FROM data WHERE cat = $_GET['cat'] а как здесь пишется подобный запрос |
Автор: | ivank_x [ 23 май 2012, 09:57 ] |
Заголовок сообщения: | Re: Invalid argument supplied for foreach() |
а в переменной $id что-нибудь есть? переменной _tableArticles не вижу у вас в модели |
Автор: | websto [ 23 май 2012, 10:13 ] |
Заголовок сообщения: | Re: Invalid argument supplied for foreach() |
protected $_tableArticles = 'data'; просто не прописал тогда $content->cat = Model::factory('categ')->get_cat($id); когда убрать $id то вывод есть только не по категориям |
Автор: | ivank_x [ 23 май 2012, 10:19 ] |
Заголовок сообщения: | Re: Invalid argument supplied for foreach() |
значит переменная $id у вас пустая, проверьте через echo Код:
|
Автор: | websto [ 23 май 2012, 11:01 ] |
Заголовок сообщения: | Re: Invalid argument supplied for foreach() |
Проверил выводит цифру номер категории.Вот роут и меню может здесь что-то Route::set('cat', '<cat>/<id>', array('id' => '[0-9]+')) ->defaults(array( 'controller' => 'categ', 'action' => 'cat', )); меню выводит нормально <?php foreach ($menu as $menus): ?> <li class="last"><a href="<?php echo URL::site('/cat'); ?>/<?=$menus['id']?>"><?=$menus['title']?></a></li> <?php endforeach;?> |
Страница 1 из 2 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |