0

我的问题是这样的:

根据不同的代码,可能会做出不同的sql,如下:

因为我的 $excludIds 可能为空,所以,当它为空时,我需要忽略它。我像打击一样使用它,但会出错。

DB::table('recommends')
   -> join('topics', 'topics.id', '=', 'recommends.courseid')
   if(count($excludIds) > 0){
      -> whereNotIn('topics.id', $excludIds)
   }
   -> where('recommends.re_type', '=', $recommend_type)
   -> get();

那么,在这种情况下我应该如何使用数据库查询生成器

非常感谢。

4

1 回答 1

0

Havent检查了查询本身,但逻辑如下:

$fluentBuilder = DB::table('recommends')
   -> join('topics', 'topics.id', '=', 'recommends.courseid')
   -> where('recommends.re_type', '=', $recommend_type);

   if(count($excludIds) > 0){
      $fluentBuilder->whereNotIn('topics.id', $excludIds);
   }

$result = $fluentBuilder->get();
于 2013-07-30T15:38:03.587 回答