我是Laravel的新手,对于结合2个JOIN结果有疑问。
首先,我有以下表格:
视频:ID,已批准
videos_languages:video_id,language_id,name
现在我执行以下操作:
$arr = Video::join("videos_languages","video_id","=","videos.id")->whereRaw("approved = 0")->get();
然后我将数组传递给我的视图。
我获得了值,但如果一个视频的语言超过1种,则会产生双倍的结果。是否可以将该连接的结果与Laravel结合成一个结果?
示例:
$arr[0]['id'] = 5;
$arr[0]['approved'] = 0;
$arr[0]['videos_langauges][0] =
{
'name' = ...
}
$arr[0]['videos_langauges][1] =
{
'name' = ...
}
谢谢:)
答案 0 :(得分:0)
$arr = Video::distinct()->join("videos_languages","video_id","=","videos.id")->where("approved", 0)->get();
这应该从结果中清除重复项。另请注意where()
而不是whereRaw()
。