[英]Laravel: Orderby in related table and with
这是我的模型
这些模型之间的关系是多对多的。
我想创建这样的查询:
return User::with('roles')->orderBy('roles.id')->paginate();
我不想join
因为我为每个模型创建了一个基类。 我也不希望在get
之后使用orderBy
,因为它必须加载我的所有数据,之后我应该能够对其进行排序和分页。 所以这不是一个很好的主意。
你可以尝试这样的事情:
return User::with(['roles' => function ($query) {
$query->orderBy('id', 'desc');
}])->paginate();
但这只会对预先加载属性进行排序,但是如果您有兴趣使用 join ,则可以使用以下内容:
return User::with('roles')
->join('roles', 'user.id', '=', 'roles.user_id')
->orderBy('roles.id', 'desc')
->paginate();
在这里,您可以轻松使用paginate
,这是您的主要关注点。
希望这可以帮助。
User::where('role_id','!=','0')->orderBy('role_id','DESC')->paginate(10);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.