首页  >  问答  >  正文

在LARAVEL中使用OR和AND的MYSQL查询Where子句

我想要选择categories_id 为 31 或 211 或 18 并且状态为开启且模式也为开启的子类别。

我尝试了这个,但我出错了

$subcategories =DB::table('subcategories')
    ->where('categories_id','31')
    ->orWhere('categories_id','211')
    ->orWhere('categories_id','18')
    ->where('status','on')
    ->where('mode','on')
    ->get();

P粉008829791P粉008829791423 天前480

全部回复(1)我来回复

  • P粉775788723

    P粉7757887232023-09-16 00:23:40

    你必须使用函数:

    $subcategories =DB::table('subcategories')
    ->where(function($query)
        {
            $query->where('categories_id', '31')
                  ->orWhere('categories_id', '211')
                  ->orWhere('categories_id', '18');
        })
    ->where('status','on')
    ->where('mode','on')
    ->get();

    回复
    0
  • 取消回复