首页 新闻 会员 周边 捐助

laravel 怎么用关联表的字段排序?不用左右链接!

0
悬赏园豆:10 [待解决问题]

laravel 怎么用关联表的字段排序?

不用左右链接!

有什么方法可以直接排序的?

问题补充:

having(),然后orderBy()好像不行

寞小陌的主页 寞小陌 | 初学一级 | 园豆:104
提问于:2017-12-21 17:51
< >
分享
所有回答(2)
0

例:

  • 表 users
    • 字段 id
    • 字段 group_id
  • 表 groups
    • 字段 id
    • 字段 family_id

现在要将取出的 user 按照 family_id 排序

定义了模型关联

Laravel 文档里给出了一种似乎是这个问题的方法

然而这种方法针对的是 hasMany 关联,对 belongsTo 不好使。

也就是说它实际上只会对每个 user 里的 group 里的元素按照 family_id 排序,而并不会对 user 进行排序。

然后我 baidu 了好久,又 google 了好久

得出一个结论,Eloquent 模型尚无此功能TAT

解决方案如下

码农老黄 | 园豆:34 (初学一级) | 2017-12-21 19:13

我知道左连接可以,我想问问除了这个还有被的方法吗?

支持(0) 反对(0) 寞小陌 | 园豆:104 (初学一级) | 2017-12-21 21:09
0

eloquent 模型定义方法

public function items() : HasMany
{
  ...
}

 

使用查询,并生序排序,这里使用集合方法

$special->items->sortBy('sort')

helingfeng | 园豆:202 (菜鸟二级) | 2018-03-06 10:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册