Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Libraries > Использование оператора AS в Kohana 3.2 (3.3)


Автор: Kipling 24.7.2013, 13:39
Нужно выполнить вот такой запрос SQL с помощью ORM Kohana 3.2 (3.3): 

Код

SELECT * , addresses.last_name AS address_last_name, addresses.first_name AS address_first_name, users.last_name AS user_last_name, users.first_name AS user_first_name
FROM orders
LEFT JOIN addresses ON orders.address_id = addresses.id
LEFT JOIN users ON orders.user_id = users.id




Почему не выполняет вот так?


Код

ORM::factory('Order')
               ->select('*', 
               'addresses.last_name AS address_last_name', 
               'addresses.first_name AS address_first_name', 
               'users.last_name AS user_last_name', 
               'users.first_name AS user_first_name')
               ->join('addresses','LEFT')
               ->on('order.address_id','=','addresses.id')
               ->join('users','LEFT')
               ->on('order.user_id','=','users.id')
               ->find_all();





Выводит вот такую ошибку: 

Database_Exception [ 1054 ]: Unknown column 'addresses.last_name AS address_last_name' in 'field list' [ SELECT *, `addresses`.`last_name AS address_last_name`, `addresses`.`first_name AS address_first_name`, `users`.`last_name AS user_last_name`, `users`.`first_name AS user_first_name`, `order`.`id` AS `id`, `order`.`user_id` AS `user_id`, `order`.`token` AS `token`, `order`.`status` AS `status`, `order`.`address_id` AS `address_id`, `order`.`created` AS `created` FROM `orders` AS `order` LEFT JOIN `addresses` ON (`order`.`address_id` = `addresses`.`id`) LEFT JOIN `users` ON (`order`.`user_id` = `users`.`id`) ]



У меня предположение, может kohana не умеет обрабатывать оператор AS в select'e? Но как тогда сделать?

Автор: Fortop 24.7.2013, 16:11
Цитата(Kipling @  24.7.2013,  13:39 Найти цитируемый пост)
Почему не выполняет вот так?

Описание метода select() смотреть не пробовали?

Код

    /**
     * Choose the columns to select from.
     *
     * @param   mixed  $columns  column name or array($column, $alias) or object
     * @param   ...
     * @return  $this
     */
    public function select($columns = NULL)


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)