waw*_*los 3 laravel eloquent laravel-5
以下请求从用户表中提取所有条目,其中 name=Albert 或 name=Alberto 或 name=Ana。
$users = DB::table('users')
->whereIn('name', ['Albert', 'Alberto', 'Ana'])
->get();
Run Code Online (Sandbox Code Playgroud)
是否有可能调整此请求以提取以以下名称开头的所有条目?
在基本where函数上使用 like 运算符:
$users = DB::table('users')
->where('name', 'like', 'T%')
->get();
Run Code Online (Sandbox Code Playgroud)
编辑: 基于此答案(但已简化),这里有一个简单的闭包可以解决您的问题:
$queryStr = ['Albert', 'Alberto', 'Ana'];
$users = DB::Table('users')
->where(function ($query) use ($queryStr) {
foreach($queryStr as $q){
$query->orwhere('name', 'like', $q . '%');
}
})->get();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4315 次 |
| 最近记录: |