2016-03-18 60 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();