2016-02-21 64 views
0

我一直在試圖讓Laravel選擇查詢工作,這需要多個AND條件。我明白你通常可以這樣做:Laravel查詢:where條款中的多個條件,但1個條件需要比較運算符

$myArray = array('column_one' => 1, 'column_two' => 2); 

DB::('mytable')->select('mycolumn')->where($myArray)->get(); 

如何與一個在需要比較操作時,語句做到這一點?

喜歡的東西:

DB::('mytable')->select('mycolumn')->where('column_one', 1)->where('column_two' '<', 10000)->get(); 

但只有一個WHERE語句,而不是鏈接它們。我搜索了Laravel文檔,但找不到它。

任何幫助表示讚賞!

回答

3

如果您使用的是5.2及其最新版本,則可以將數組數組與運算符一起傳遞給它們。

從5.2文檔:

$users = DB::table('users')->where([ 
    ['status','1'], 
    ['subscribed','<>','1'], 
])->get(); 

如果有要使用一個操作符,這將是具有3個元件的陣列的第二元件。在上面的示例['subscribed', '<>', '1']中,'<>'是運營商。

Laravel 5.2 - Query Builder - Wheres

+0

您可以用'orWhere'還,這樣的事情''DB::('MYTABLE') - >選擇( 'mycolumn') - >在哪裏( 'column_one',1) - > orWhere ('column_two''<', 10000)-> get();' – imrealashu

+0

@imrealashu OP聲明'AND'運算符,問題是如何通過調用'where()'來做到這一點 – patricus

+0

是的,我知道,我評論你的答案,而不是我只是指着'orWhere'也可以用來代替兩個'where()' – imrealashu