Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Вопрос о базовом контролере
http://forum.kohanaframework.su/viewtopic.php?f=31&t=192
Страница 1 из 1

Автор:  websto [ 21 май 2012, 21:11 ]
Заголовок сообщения:  Вопрос о базовом контролере

Я в ООП новичок подскажите как сделать например вывод меню с базы.
Сделал модель вытащить все категории меню с базы

class Model_Categories extends Model
{
protected $_tableArticles = 'categories';
public function get_categories($id = '')
{
$sql = "SELECT * FROM ". $this->_tableArticles ." WHERE `id` = :id";

$query = DB::query(Database::SELECT, $sql, FALSE)
->param(':id', (int)$id)
->execute();

$result = $query->as_array();

if($result)
return $result[0];
else
return FALSE;
}
}

А как прописать значение в базовый контролер или это надо отдельный контролер создавать?

Автор:  ivank_x [ 21 май 2012, 21:33 ]
Заголовок сообщения:  Re: Вопрос о базовом контролере

Код:
abstract class Controller_Base extends Controller {

   public function before()
   {
      parent::before();
      View::bind_global('menu', $data);
      $data = Model::factory('Categories')->get_article($id);
   }

}

если в базовом

Автор:  websto [ 21 май 2012, 22:19 ]
Заголовок сообщения:  Re: Вопрос о базовом контролере

Спасибо за ответ щас попробую сделать!

Выдает ошибку

ErrorException [ Notice ]: Undefined variable: id

View::bind_global('menu', $menu);
$menu = Model::factory('Categories')->get_categories($id); <--------

Автор:  websto [ 21 май 2012, 23:33 ]
Заголовок сообщения:  Re: Вопрос о базовом контролере

Неопределена $id наверно надо передать WHERE id='$_GET[id]' или как

Автор:  ivank_x [ 22 май 2012, 00:01 ]
Заголовок сообщения:  Re: Вопрос о базовом контролере

просто в вашей моделе, метод get_categories принимает на вход $id, поэтому я и привел пример с $id
a получить ее надо в контроллере, если она присутствует
Код:
$id = $this->request->param('id');

Автор:  websto [ 22 май 2012, 10:03 ]
Заголовок сообщения:  Re: Вопрос о базовом контролере

Да это я чёта затупил.Всё равно спасибо за ответ

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/