年龄段表 age(id,age)
用户表 user(id ,age_id)
问题是:如何查询出按年龄倒序的用户列表?原生sql当然可以,其他方式呢?
微信里点“发现”,扫一下
二维码便可将本文分享至朋友圈。
$user->ages()->orderBy('age','desc')->get();
差不多这样
user 只对应一个age 吧?哪来的ages啊,查的是$users吧。 是一个年龄段对应多个用户的,然后按年龄排序用户,得出用户列表。这个好难啊 jelly,百度了好久只找到了一个原生的
啊哈。看错需求了:
$ageIds = Age::orderBy('age','desc')->pluck('id'); $users = User::whereIn('id',$ageIds)->get();
这样呢?
mysql 的in方法会按索引自动排序的 不会按ageIds 排序的,因为我后面还要做更新操作,所以没用集合
那感觉是只能使用 with(‘user’) 曲线救国了