如在Kohana 3.3 中对用户列表进行排序,有多少个订单?

As in Kohana 3.3 sort the list of users, the number of orders?

假设我们有两个 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

如您所见,所有用户的列表按订单数排序?可能吗?

您可以使用 order_by

对记录进行排序
ORM::factory('User')->order_by('order_id', 'desc')->find_all(); //Displays a list of all users

这是我脑子里直接打出来的,对最后的错误深表歉意

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