laravel - BelongsToMany 关系。如何获取唯一行
问题描述
我'member_companies'
在数据库中有下一张表:
并且在模型成员中有一个关系:
public function companies()
{
return $this->belongsToMany(Company::class, 'member_companies');
}
它还给我所有重复的公司。例如,Member::find(238)->companies->pluck('id')
返回
[
6,
5,
7,
2,
10,
8,
4,
13,
14,
10,
8,
13
]
但我只想要独特的物品。喜欢
[
6,
5,
7,
2,
10,
8,
4,
13,
14,
]
我怎样才能用雄辩的关系做到这一点?
解决方案
不确定它是否是新添加的,但您可以这样做(至少在 Laravel 7 中):
public function companies()
{
return $this->belongsToMany(Company::class, 'member_companies')->distinct();
}
推荐阅读
- javascript - 如何将 ACF 字段作为类添加到 div
- python - Python将立体声.flac转换为单声道
- excel - 如果在excel中嵌套
- python - 优化线性方程以获得最大最小值
- typescript - 如何将 VS Code 的大纲同步到编辑器中的当前位置
- ios - 可以将 Swift REPL 嵌入到 macOS 或 iOS 应用程序中吗?
- kubernetes - 如何在 GKE 中使用 ReadWriteMany 创建持久卷声明?
- jquery - 升级到 Bootstrap 4、jQuery 3.3.1 后 jQuery .show() /.hide() 无法正常工作
- html - 更改线条系列的颜色
- php - 如何通过 PHP 执行 Google Cloud Function?