检查Laravel数据透视表中是否存在多行

时间:2018-01-22 17:10:45

标签: php mysql laravel-5 pivot-table

我可以运行以下代码来检查数据透视表中是否存在单行

 if($person->comments()->where('comment_id', 1)->exists()) == 1){
   //Do something
 }

但我如何检查是否存在行列表?

简单来说,我想说'如果数据透视表包含带有id为1,2,3,4,5'的comment_ids的行。

这是我到目前为止所做的。

  if(($person->comments()->where('comment_id', 1)->where('comment_id', 2)->where('comment_id', 3)->where('comment_id', 4)->where('comment_id', 5)->exists()) == 1){
     //Do something
  }

2 个答案:

答案 0 :(得分:0)

如果您想将all ID与and查询匹配,那么您可以这样做 -

$query = $person->comments();
foreach($ids as $id){
    $query->where('comment_id',$id);
}
if(($query->exists()){
 //Do something
}

答案 1 :(得分:0)

你可以算出有多少例如:

$lookFor = [1,2,3,4];

if($person->comments()->whereIn('comment_id', $lookFor)->count() == count($lookFor)) { 
}