2016-03-18 41 views
2

我想作这样的SQL请求,:雄辩Laravel在哪里,或者与

获取((Age > 10Weight > 50)OR Name = Jack)和Actif = 1

我的口才要求这个样子的:

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

但实际上它会返回结果Jack虽然此列Actif is set to 0

回答

4

如果我们看一下其中部分,因此它会是这样嵌套:

$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();