laravel 查询生成器或内部 where
laravel query builder or inside where
我有以下查询,我想知道这在 laravel 的查询生成器中是否可行:
SELECT * FROM table WHERE (column = value OR column = value2) AND column2 LIKE '%value3%'
您可以根据自己的需求进行查询
DB::table('table_name')
->where('column', 'value1')
->orWhere('column', 'value2')
->where('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();
你可以在 where for ex 中使用闭包
\DB::table('table_name')
->where(function($q){
$q->where('column', 'value1')
->orWhere('column', 'value2');
})
->where('column2', 'LIKE', '%value3%');
在此处查看https://laravel.com/docs/5.3/queries#parameter-grouping
我有以下查询,我想知道这在 laravel 的查询生成器中是否可行:
SELECT * FROM table WHERE (column = value OR column = value2) AND column2 LIKE '%value3%'
您可以根据自己的需求进行查询
DB::table('table_name')
->where('column', 'value1')
->orWhere('column', 'value2')
->where('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();
你可以在 where for ex 中使用闭包
\DB::table('table_name')
->where(function($q){
$q->where('column', 'value1')
->orWhere('column', 'value2');
})
->where('column2', 'LIKE', '%value3%');
在此处查看https://laravel.com/docs/5.3/queries#parameter-grouping