Laravel 5 Eloquent where and orwhere
Laravel 5 Eloquent where and orwhere
我尝试使用多个 and/or 子句从 table 中获取结果。但是我没有收到好结果!
$queries = journal::where(function($query)
{
$term =Input::get('text');
$query->where('titre', 'like', '%'.$term.'%')
->where('etat','!=','9')
->where('type', 0)
->orWhere('type', 1);
})->take(10)->get();
改用whereBetween()
。
$queries = journal::where(function($query)
{
$term =Input::get('text');
$query->where('titre', 'like', '%'.$text.'%')
->where('etat','!=','9')
->whereBetween('type', [0, 1]);
})->take(10)->get();
https://laravel.com/docs/5.4/queries - 附加 Where 子句
您应该这样查询:
$query->where('titre', 'like', '%'.$term.'%')
->where('etat','!=','9')
->where(function ($query) {
$query->where('type', 0)
->orWhere('type', 1);
})
如果您需要使用 orWhere,否则使用 whereBetween。
Reference Here
您可以使用相同的查询,通过以下方式与动态值进行比较:
$valSearch='abcd';
$query->where('field1', 'like', '%'.$val1.'%')
->where('field2','!=','2')
->where(function ($query) use ($valSearch) {
$query->where('field3', $valSearch)
->orWhere('field4', $valSearch);
})
查询将执行为:
field1 like '%{$val1}% AND field2 != 2 AND (field3='abcd' OR field4='abcd')
可能对以后的人有所帮助。
Reference Here
我尝试使用多个 and/or 子句从 table 中获取结果。但是我没有收到好结果!
$queries = journal::where(function($query)
{
$term =Input::get('text');
$query->where('titre', 'like', '%'.$term.'%')
->where('etat','!=','9')
->where('type', 0)
->orWhere('type', 1);
})->take(10)->get();
改用whereBetween()
。
$queries = journal::where(function($query)
{
$term =Input::get('text');
$query->where('titre', 'like', '%'.$text.'%')
->where('etat','!=','9')
->whereBetween('type', [0, 1]);
})->take(10)->get();
https://laravel.com/docs/5.4/queries - 附加 Where 子句
您应该这样查询:
$query->where('titre', 'like', '%'.$term.'%')
->where('etat','!=','9')
->where(function ($query) {
$query->where('type', 0)
->orWhere('type', 1);
})
如果您需要使用 orWhere,否则使用 whereBetween。 Reference Here
您可以使用相同的查询,通过以下方式与动态值进行比较:
$valSearch='abcd';
$query->where('field1', 'like', '%'.$val1.'%')
->where('field2','!=','2')
->where(function ($query) use ($valSearch) {
$query->where('field3', $valSearch)
->orWhere('field4', $valSearch);
})
查询将执行为:
field1 like '%{$val1}% AND field2 != 2 AND (field3='abcd' OR field4='abcd')
可能对以后的人有所帮助。 Reference Here