Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 28 апр 2024, 13:31

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: 05 авг 2013, 17:56 
Не в сети
Зеленый

Зарегистрирован: 29 июл 2013, 14:22
Сообщения: 5
Есть роутер
Код:
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/здесь айди, который должен сравнивать.
Расписал как смог, пожалуйста подскажите, что делаю не так.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 авг 2013, 18:08 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
руководство до конца дочитай, а потом вопросы тупые задавай.

Цитата:
и еще, в екшене передаю $uri = NULL, если убери null кохана выводит ошибку в файле контроллера.

но судя по этому, тебе вначале нужно руководство по php прочесть

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 авг 2013, 09:10 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 03 июн 2013, 00:18
Сообщения: 32
Цитата:
public function action_read($uri = NULL)

Покажите, где вы прочитали, что надо делать так ?

Параметры урла получают в экшне при помощи $this->request->param("id"); , например.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 авг 2013, 23:45 
Не в сети
Новичок

Зарегистрирован: 25 окт 2012, 12:16
Сообщения: 16
Цитата:
public function action_read($uri = NULL)


В CakePHP так id передается, Kohana это совсем другой фраймворк


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 авг 2013, 01:15 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Привет, mackay!

Так можно было до v3.0. Сейчас всё немного изменилось. Тебе нужно изменить роут:

Код:
Route::set('ubuntu''(ubuntu/read(/<id>(/<uri>)))')
   ->
defaults(array(
      
'controller' => 'ubuntu',
      
'action'     => 'read',
      
'uri'          => NULL,
   )); 


И соответственно:
Код:
public function action_read()
{

    
$data = array();
    
$selnew = new Model_News();
    
$data['materials'] = $selnew->getcat($this->request->param('uri'));
    
var_dump($data);

    
$this->template->content View::factory('ubuntu_read',$data);


Правда зачем тебе тут $id и как ты его хотел применять совершенно не понятно.
И покажи пожалуйста твой метод getcat


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 67


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group