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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Проблема с ORM
СообщениеДобавлено: 16 май 2012, 17:54 
Не в сети
Новичок

Зарегистрирован: 03 апр 2012, 15:43
Сообщения: 20
Код:
class Controller_Index_History extends Controller_Index {

    public function action_index() {
        $page_date = $this->request->param('history_date');
               
        $all_news = ORM::factory('new')->where('date', 'like','%'.$page_date.'%')->find_all();
       
        if (!$all_news->loaded()) $load=0;
               
        $content = View::factory('index/history/v_history_index', array(
            'all_news' => $all_news, 'load'=>load
        ));

Выдает ошибку: ErrorException [ Fatal Error ]: Call to undefined method Database_MySQL_Result::loaded()
хотя в другом контроллере метод loaded() работает нормально, никто не подскажет почему?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с ORM
СообщениеДобавлено: 16 май 2012, 18:15 
Не в сети
Бывалый

Зарегистрирован: 16 апр 2012, 19:44
Сообщения: 113
возможно модель не загрузилась, соответственно переменной _loaded нет.

попробуйте разить загрузку на несколкьо частей

Код:
$all_news = ORM::factory('new');
$all_news->where('date', 'like','%'.$page_date.'%');
$all_news->find_all();


возможно ошибка вывалится другая... и станет понятно куда капать.

Кстати для проверки кол-ва загруженных записей есть метож count_all, а loaded это проверка загрузки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с ORM
СообщениеДобавлено: 16 май 2012, 18:23 
Не в сети
Новичок

Зарегистрирован: 03 апр 2012, 15:43
Сообщения: 20
Спасибо! Вроде заработало)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с ORM
СообщениеДобавлено: 16 май 2012, 18:30 
Не в сети
Новичок

Зарегистрирован: 03 апр 2012, 15:43
Сообщения: 20
хотя не совсем) ошибка не вываливается, но записи из БД не грузятся, а если так
Код:
$all_news = ORM::factory('new')->where('date', 'like','%'.$page_date.'%')->find_all();

то находит нужные записи


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с ORM
СообщениеДобавлено: 16 май 2012, 18:56 
Не в сети
Бывалый

Зарегистрирован: 16 апр 2012, 19:44
Сообщения: 113
а в логах что нибудь пишется когда ошибка выпадает?

и да было бы хорошо взглянуть на модель.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с ORM
СообщениеДобавлено: 16 май 2012, 19:08 
Не в сети
Новичок

Зарегистрирован: 03 апр 2012, 15:43
Сообщения: 20
в общем заработало только так
Код:
class Controller_Index_History extends Controller_Index {

    public function action_index() {
        $page_date = $this->request->param('history_date');
        $load=1; 
        $all_news = ORM::factory('new')->where('date', 'like','%'.$page_date.'%')->count_all();
        if ($all_news==0) $load=0;
       
        $all_news = ORM::factory('new')->where('date', 'like','%'.$page_date.'%')->find_all();
                       
        $content = View::factory('index/history/v_history_index', array(
            'all_news' => $all_news, 'load' => $load
        ));

а в виде уже переменная $load обрабатываеца, может как-то более компактно можно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с ORM
СообщениеДобавлено: 16 май 2012, 19:41 
Не в сети
Бывалый

Зарегистрирован: 16 апр 2012, 19:44
Сообщения: 113
можно так

Код:
        $page_date = $this->request->param('history_date');
        $all_news = ORM::factory('new')->where('date', 'like','%'.$page_date.'%')->find_all();
        if ($all_news->conunt_all()==0) $load=0;
 


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с ORM
СообщениеДобавлено: 16 май 2012, 20:45 
Не в сети
Новичок

Зарегистрирован: 03 апр 2012, 15:43
Сообщения: 20
Код:
if ($all_news->conunt_all()==0) $load=0;

на этой строчке выдает ту-же ошибку об необъявленном методе count_all


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с ORM
СообщениеДобавлено: 16 май 2012, 20:59 
Не в сети
Бывалый

Зарегистрирован: 16 апр 2012, 19:44
Сообщения: 113
ну да, логично. Я опечатался, а Вы скопировали %)))

count_all(), а не conunt_all()


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с ORM
СообщениеДобавлено: 17 май 2012, 11:33 
Не в сети
Новичок

Зарегистрирован: 03 апр 2012, 15:43
Сообщения: 20
нет, опечатку я конечно заметил, ошибку выдает именно: ErrorException [ Fatal Error ]: Call to undefined method Database_MySQL_Result::count_all() Как приводил пример выше, работает, а иначе никак) Не могу понять в чем дело, но времени нет, так что оставил пока так.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ]  На страницу 1, 2  След.

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


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

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


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

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