我有2个模型POST和Member,我希望按会员的姓氏进行订购
但返回默认排序
$post= POST::where('type','<>',0)
->with(['member'=>function($query){
$query->orderBy('lastname','desc');
}])->paginate(10);
谢谢。
答案 0 :(得分:0)
尝试
$post= POST::where('type','<>',0)
->with(['member'=>function($query){
$query->latest('lastname')->first();
}])->paginate(10);
答案 1 :(得分:0)
您应该使用join()
或leftJoin()
:
$posts = POST::select('posts.*')
->join('members', 'members.id', '=', 'posts.member_id')
->where('posts.type','<>',0)
->orderByDesc('members.lastname')
->paginate(10);
答案 2 :(得分:-1)
您正在与成员一起收集前10个帖子
如果您希望数据作为成员的姓氏排序,那么雄辩的人应该是这样
$members = Member::whereHas('Post' , function($q){
$q->where('type','<>',0);
})->orderBy('lastname','desc')
->paginate(10);
注意:我没有在我的电脑上运行此程序,如果我写错了什么,请通知我。谢谢