Laravel - 将JOIN数据与一个结果相结合

时间:2014-11-24 19:31:52

标签: php laravel laravel-5

我是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' = ...
}

谢谢:)

1 个答案:

答案 0 :(得分:0)

$arr = Video::distinct()->join("videos_languages","video_id","=","videos.id")->where("approved", 0)->get();

这应该从结果中清除重复项。另请注意where()而不是whereRaw()