Laravel忽略查询中的多种对象

时间:2018-10-07 14:13:07

标签: php mysql laravel eloquent filtering

我试图忽略查询中特定类型的对象。在某些类型中,我禁止或删除了我不希望用户找到的数据。我的查询看起来像:

$posts = DB::table('posts')->where('content', 'like', '%' . $request['content'] . '%')
        ->where('isfutured', '!=', '0')
        ->orderByDesc('id')->get();

但是现在我也不想获取isfutured4的数据。我怎么做?还是可以在Post模型中以某种方式阻止这些行为,并进行常规的口才查询?

1 个答案:

答案 0 :(得分:2)

  

使用查询生成器   用于whereIn或whereNotIn

的多个条件
$isfutured = [0,4]; // add in array which did not want to get 

$posts = DB::table('posts')->where('content', 'like', '%' . $request['content'] . '%')
        ->whereNotIn('isfutured', $isfutured)
        ->orderByDesc('id')->get();
  

使用元素

$posts = Post::whereNotIn('isfutured', $isfutured)->where('content', 'like', '%' . $request['content'] . '%')->orderByDesc('id')->get();