Есть роутер
Код:
Route::set('ubuntu', '(ubuntu/read(/<id>))')
->defaults(array(
'controller' => 'ubuntu',
'action' => 'read',
));
теперь сам экшн
Код:
public function action_read($uri = NULL)
{
$data = array();
$selnew = new Model_News();
$data['materials'] = $selnew->getcat($uri);
var_dump($data);
$this->template->content = View::factory('ubuntu_read',$data);
}
в екшн передаются данные с роута, после я сравниваю этот <id> c id из базы данных и делаю выборку этого поля,
вот модель выборки из базы
Код:
protected $_table_name = 'news';
public function getcat($uri){
return DB::SELECT()
->from($this->_table_name)
->where('id','=',$uri)
->execute()
->as_array();
}
и еще, в екшене передаю $uri = NULL, если убери null кохана выводит ошибку в файле контроллера.
Подскажите, как узнать id из строки, site.com/ubuntu/read/здесь айди, который должен сравнивать.
Расписал как смог, пожалуйста подскажите, что делаю не так.