Русскоязычный форум, посвященный фреймворку Kohana http://forum.kohanaframework.su/ |
|
Ошибка Undefined variable: http://forum.kohanaframework.su/viewtopic.php?f=31&t=196 |
Страница 1 из 2 |
Автор: | websto [ 23 май 2012, 23:15 ] |
Заголовок сообщения: | Ошибка Undefined variable: |
В чем здесь может быть проблема вроде рабочий код public function action_meta() { $id = $this->request->param('id'); $content = View::factory('/pages/cat') ->bind('meta', $meta); $meta = Model::factory('categ')->get_meta(); $this->template->content = $content; } а в виде видает ошибку foreach($meta as $metas): Undefined variable: meta |
Автор: | admin [ 23 май 2012, 23:25 ] |
Заголовок сообщения: | Re: Ошибка Undefined variable: |
Что модель возвращает ? |
Автор: | websto [ 23 май 2012, 23:31 ] |
Заголовок сообщения: | Re: Ошибка Undefined variable: |
protected $_tableArticles = 'data'; protected $_tableArticles1 = 'categories'; public function get_cat($id = '') { $sql = "SELECT id,title,img FROM ". $this->_tableArticles ." WHERE cat = :id ORDER BY id DESC LIMIT 14"; $query = DB::query(Database::SELECT, $sql,FALSE) ->param(':id', (int)$id) ->execute(); $result = $query->as_array(); return $result;} public function get_meta($id = '') { $sql = "SELECT * FROM ". $this->_tableArticles1 ." WHERE id = :id"; $query = DB::query(Database::SELECT, $sql) ->param(':id', (int)$id) ->execute(); $result = $query->as_array(); return $result; } это модель а это контролер файлы целиком public function action_cat() { $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 action_meta() { $id = $this->request->param('id'); $content = View::factory('/pages/cat') ->bind('meta', $meta); $meta = Model::factory('categ')->get_meta($id); $this->template->content = $content; } } |
Автор: | admin [ 23 май 2012, 23:41 ] |
Заголовок сообщения: | Re: Ошибка Undefined variable: |
А почему вы id не передаете в метод модели ? Код:
Получается у вас запрос срабатывает Код:
И думаю, что ничего не находит. Если вы хотели сделать универсальный метод, который будет находить и все категории и какую-то одну, то тут нужно ставить условие проверки на $id и менять запрос в зависимости от нее. |
Автор: | websto [ 23 май 2012, 23:48 ] |
Заголовок сообщения: | Re: Ошибка Undefined variable: |
А как надо правильно прописать проверку id = $_GET[id] вот этот момент мне очень не понятен |
Автор: | ivank_x [ 24 май 2012, 10:40 ] |
Заголовок сообщения: | Re: Ошибка Undefined variable: |
Код:
|
Автор: | websto [ 24 май 2012, 13:47 ] |
Заголовок сообщения: | Re: Ошибка Undefined variable: |
Спасибо за разяснение с $id но у меня все равно не получается сделать Даже когда в модели убрать проверки а просто вытащить с базы все записи public function get_meta() { $sql = "SELECT * FROM ". $this->_tableArticles1; return DB::query(Database::SELECT, $sql) ->execute(); } На выходе все равно получается foreach($meta as $metas): Undefined variable: meta {PHP internal call} » Kohana_Controller_Template->after() Это я хочу мета данные передать получается в одной модели делаю выборку с двух таблиц.Потом в контролере функции обработки одинаковые но...Может это как-то по другому реализуется |
Автор: | websto [ 24 май 2012, 14:26 ] |
Заголовок сообщения: | Re: Ошибка Undefined variable: |
Проблема в этом контролере вернее в function action_meta из нее вообще ничего не выводится пробовал $this->template->title = 'hello'; class Controller_Categ extends Controller_Template { public function action_cat() { $id = $this->request->param('id'); $content = View::factory('/pages/cat') ->bind('cat', $cat); $cat = Model::factory('categ')->get_cat($id); $this->template->title = 'hello'; $this->template->content = $content; } public function action_meta() { $id = $this->request->param('id'); $content = View::factory('/pages/cat') ->bind('meta', $meta); $meta = Model::factory('categ')->get_meta($id); $this->template->title = 'hello'; $this->template->content = $content; } } |
Автор: | ivank_x [ 24 май 2012, 16:47 ] |
Заголовок сообщения: | Re: Ошибка Undefined variable: |
попробуйте так Код:
в виде соответственно echo $title; в адресной строке /categ/meta должны получить hello |
Автор: | websto [ 24 май 2012, 17:38 ] |
Заголовок сообщения: | Re: Ошибка Undefined variable: |
Да вывелось hello.Это значит что ошибка в модели? |
Страница 1 из 2 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |