Laravel 5 使用不同的语言建立拉威尔雄辩的关系
我需要使用DISTINCT显示具有关系的数据 这是我的sql数据: 桌上口袋Laravel 5 使用不同的语言建立拉威尔雄辩的关系,laravel-5,eloquent,group-by,relationship,distinct,Laravel 5,Eloquent,Group By,Relationship,Distinct,我需要使用DISTINCT显示具有关系的数据 这是我的sql数据: 桌上口袋 id | 49 | id | formateurs_id | pochettes_id 1 | 3 | 49 2 | 4 | 49 3 | 3 | 49 id | 3 | 4 | 表格日志记录者 id | 49 | id | formateurs_id | pochettes_id 1 | 3 |
id |
49 |
id | formateurs_id | pochettes_id
1 | 3 | 49
2 | 4 | 49
3 | 3 | 49
id |
3 |
4 |
表格日志记录者
id |
49 |
id | formateurs_id | pochettes_id
1 | 3 | 49
2 | 4 | 49
3 | 3 | 49
id |
3 |
4 |
表格格式化程序
id |
49 |
id | formateurs_id | pochettes_id
1 | 3 | 49
2 | 4 | 49
3 | 3 | 49
id |
3 |
4 |
Pochette型号
模型日志
我使用这段代码来显示具有不同格式化程序的数据,因为格式化程序可以在同一个Pochette中有许多日志:
$pochette = Pochette::find(49);
foreach ($pochette->Journees->distinct('formateurs_id') as $formateur) {
echo $formateur->formateurs_id;
echo "<br>";
}
我将展示这个结果:
3
4
不是:
3
4
3
当你接触到一段有说服力的关系,比如一处房产时,你会得到一份工作。但是,
distinct()
是一种方法,您需要在返回集合之前访问查询生成器实例。如果将()
添加到关系的末尾,则可以访问查询生成器实例,并可以链接这些查询生成器方法。在您的例子中,您实际上是在寻找groupBy()
方法,而不是distinct()
。不要忘记使用get()
结束查询
foreach($pochette->Journees()->groupBy('formatters_id')->get()作为$formatter){
echo$formatter->id;
回声“
”;
}
@Ayedmedamine那么您要查找的是groupBy()
,而不是distinct()
。我已经更新了answer.Add()以访问查询生成器,这是我从未知道的事情。你不认为它甚至在文件里吗?