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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Query Builder - примеры запросов
СообщениеДобавлено: 20 апр 2012, 00:25 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
В уроке "Query Builder - примеры запросов" мы познакомимся с написанием различных типов запросов с помощью инструмента Query Builder, рассмотрим использование агрегатных функций, а также разберем оставшиеся несколько методов.
Ссылка на урок: http://kohanaframework.su/database/query_builder_example

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 20 апр 2012, 01:37 
Не в сети
Бывалый

Зарегистрирован: 12 фев 2012, 21:19
Сообщения: 32
Query Builder - нормальная штука. можно весьма сложные запросы собирать, которые с помощью орм сделать нереально. и главное все наглядно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 28 сен 2012, 15:32 
Не в сети
Бывалый

Зарегистрирован: 17 сен 2012, 13:35
Сообщения: 91
возникла такая проблема. вожусь с пагинацией. подсчёт общего количества записей делаю не через орм а через квенри билдер.

запрос:
Код:
$count = DB::select (array('COUNT("customer_id")'))
                ->from($this->_tableCustomer)
                ->group_by('fio')
                ->execute()
                ->as_array();


вылетает ошибка: ErrorException [ Notice ]: Undefined offset: 1

помогите пожалуйста разобраться


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 29 сен 2012, 00:36 
Не в сети
Бывалый

Зарегистрирован: 29 сен 2012, 00:30
Сообщения: 65
Откуда: Рига, Латвия
prickle, попробуй так:
Код:
$count = DB::select(array("COUNT(*)","records_found"))
                ->from($this->_tableCustomer)
                ->group_by("fio")
                ->execute()
                ->get("records_found", 0);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 02 окт 2012, 12:43 
Не в сети
Бывалый

Зарегистрирован: 17 сен 2012, 13:35
Сообщения: 91
вообще кошмар получилсо:
Database_Exception [ 1054 ]: Unknown column 'COUNT(*)' in 'field list' [ SELECT `COUNT(*)` AS `records_found` FROM `customer` GROUP BY `fio` ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 02 окт 2012, 15:02 
Не в сети
Бывалый

Зарегистрирован: 17 сен 2012, 13:35
Сообщения: 91
всё ок. с синтаксисом заморочка была.
а вообще уже почти даже работает. но видимо здесь при обработке записей базы намудрила:
Код:
$cus = DB::select()
                ->from($this->_tableCustomer)
                ->limit($pagination->items_per_page)
                ->offset($pagination->offset)
                ->execute();

потому что он пагинацию выводит но вот в таков виде:
First Previous 1 Next Last
и больше никаких данных на странице нет. Т.е. он не нашёл записи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 23 окт 2012, 14:31 
Не в сети
Бывалый

Зарегистрирован: 17 сен 2012, 13:35
Сообщения: 91
так. ладно, с этим разобрались.
а вот вопрос прям по уроку.
действие на удаление записи.
есть модель:
Код:
  // Удалить запись
    public function del_cus($customer_id)
    {
        $query = DB::delete('customer')
                ->where('customer_id', '=', $customer_id);

        return $query->execute();
    }


контроллер
Код:
        // Удалить запись
   public function action_delcustomer()
   {
                $customer_id = $this->request->param('id');
               
                Model::factory('customer')->del_cus($customer_id = '');
               
                $this->request->redirect('/customer');
   
        }


а вот тут самое интересное как это дело обработать в виде??????


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 24 окт 2012, 15:24 
Не в сети
Бывалый

Зарегистрирован: 10 авг 2012, 15:51
Сообщения: 33
prickle писал(а):
так. ладно, с этим разобрались.
а вот вопрос прям по уроку.
действие на удаление записи.
есть модель:
Код:
  // Удалить запись
    public function del_cus($customer_id)
    {
        $query = DB::delete('customer')
                ->where('customer_id', '=', $customer_id);

        return $query->execute();
    }



контроллер
Код:
        // Удалить запись
   public function action_delcustomer()
   {
                $customer_id = $this->request->param('id');
               
                Model::factory('customer')->del_cus($customer_id = '');
               
                $this->request->redirect('/customer');
   
        }


а вот тут самое интересное как это дело обработать в виде??????


А что именно в вид хотите передать?

Код:
Model::factory('customer')->del_cus($customer_id = '');

Здесь вы $customer_id присваиваете пустое значение, надо просто $customer_id
А вообще я бы сделал так
Код:
$customer_url = 'delcustomer/' . $id;
$customer = Request::factory($customer_url)->execute();


про это тут http://kohanaframework.su/advanced/request_within_request написано

А самое простое - сделал бы удаление в модели, а в том контроллере где хочу использовать вызывал бы
Код:
Model::factory('customer')->del_cus($customer_id);


Чет разошёлся) вообще проще модель присвоить переменной в самом верху контроллера и уже дальше по коду плясать в одном контроллере, попутно подгружая необходимые виды


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 25 окт 2012, 12:48 
Не в сети
Бывалый

Зарегистрирован: 17 сен 2012, 13:35
Сообщения: 91
простите,увлеклась. Задача состоит в тот, чтобы удалить запись из базы.
спасибо буду побывать,а то вообще никак не представляла как это сделать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Query Builder - примеры запросов
СообщениеДобавлено: 25 окт 2012, 13:26 
Не в сети
Бывалый

Зарегистрирован: 17 сен 2012, 13:35
Сообщения: 91
nixon писал(а):
Код:
Model::factory('customer')->del_cus($customer_id = '');

Здесь вы $customer_id присваиваете пустое значение, надо просто $customer_id
А вообще я бы сделал так


всё. разобралась. всё дело как раз в этом и оказалось. Зачем то пустое значение передавала. Из-за этого не правильно срабатывала ссылка

Код:
<?=HTML::anchor('customer/delcustomer/'. $customer['customer_id'], 
                                    'Удалить заказчика',
                                     array('class' => 'btnlink'))?>


а я думала не правильно ее написала)))


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

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


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

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


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

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