雄辩的Laravel在哪里,或者和

Pix*_*xel 3 sql laravel eloquent

我想做这样的Sql请求:

得到((Age > 10AND Weight > 50)OR Name = Jack)ANDActif = 1

我的Eloquent请求看起来像这样:

$user = DB::table('users')
    ->where('Age', '>=', 10)
    ->where('Weight', '>=', 50)
    ->orWhere('Name', 'Jack')
    ->where('Actif', 1)
    ->get();
Run Code Online (Sandbox Code Playgroud)

但实际上它会返回结果,Jack尽管这一列Actif is set to 0.

num*_*8er 5

如果我们看看哪里部分的嵌套,那么它将是这样的:

$sites = DB::table('users')
    ->where(function($q) {                       // (
      $q->where(function($q){                    //   (
             $q->where('Age', '>=', 10)          //     Age > 10
               ->where('Weight', '>=', 50);      //     AND Weight > 50
        })                                       //   )
        ->orWhere('Name', 'Jack');               //   OR Name = Jack
    })                                           // )
    ->where('Actif', 1)                          // AND Actif = 1
    ->get();
Run Code Online (Sandbox Code Playgroud)