我有以下查詢,我想知道這是否可能在laravel的QueryBuilder的:laravel查詢生成器或內部,其中
SELECT * FROM table WHERE (column = value OR column = value2) AND column2 LIKE '%value3%'
我有以下查詢,我想知道這是否可能在laravel的QueryBuilder的:laravel查詢生成器或內部,其中
SELECT * FROM table WHERE (column = value OR column = value2) AND column2 LIKE '%value3%'
你的查詢應該是這樣的:
DB::table('table')
->where(function($q) use ($value, $value2) {
$q->where('column', $value)
->orWhere('column', $value2);
})
->where('column2', 'like', '%'.%value3.'%')
->get();
如果你有多個值,你可以把它們放到一個簡單的數組中,並使用whereIn()
:
DB::table('table')
->whereIn('column', $valuesArray)
->where('column2', 'like', '%'.%value3.'%')
->get();
可以將此根據做,使所需的查詢
DB::table('table_name')
->where('column', 'value1')
->orWhere('column', 'value2')
->where('column2', 'like', '%value3%');
你可以在那裏使用閉包。
\DB::table('table_name')
->where(function($q){
$q->where('column', 'value1')
->orWhere('column', 'value2');
})
->where('column2', 'LIKE', '%value3%');
不會產生分組的表達,而是會在查詢,而括號中添加或條件 –