Как в Kohana 3.3 отсортировать список пользователей по количеству заказов?

Предположим, у нас есть две модели ORM:

class Model_User extends ORM
{
protected $_has_many = array(
'orders' => array(
'model' => 'Order',
'foreign_key' => 'order_id',
),
);
}

class Model_Order extends ORM
{
protected $_belongs_to = array(
'author' => array(
'model' => 'User',
'foreign_key' => 'author_id',
),
);
}

ORM::factory('User')->find_all(); //Displays a list of all users

Как вы видите список всех пользователей, отсортированный по количеству заказов? Является ли это возможным?

0

Решение

вы можете сортировать записи, используя order_by

ORM::factory('User')->order_by('order_id', 'desc')->find_all(); //Displays a list of all users
0

Другие решения

Я печатаю это прямо из головы, извините за возможные ошибки

ORM::factory('user')->join('orders', 'left')
->on('orders.id', '=', 'user.order_id')
->order_by(DB::expr('COUNT("orders.id")')
->find_all();
0

По вопросам рекламы [email protected]