laravel - Laravel 雄辩的使用循环
问题描述
我正在使用 eloquent 查询来过滤数据。我的查询是这样的,现在它工作得很好。
$users = User::where('username','LIKE','%'.request('username').'%')
->where('first_name','LIKE','%'.request('first_name').'%')
->where('last_name','LIKE','%'.request('last_name').'%')
->where('gender','LIKE','%'.request('gender').'%')
->where('password','LIKE','%'.request('password').'%')
->SimplePaginate(15);
我的请求数据是这样的。
但是,我需要为动态字段更新此查询。可以有不同的字段。我所做的是在关联数组中发送请求。所以,我的请求数据变成了这样,
我打算做的是将所有请求数据放入搜索数组中。然后像上面的查询一样使用循环运行。我怎样才能做到这一点?
PS我在论坛上查了一下,发现了一些类似的问题。其中一些已经过时。其他人没有解决我的问题。
解决方案
如果我理解正确,您可以这样做:
$search = request('search', []);
$users = User::query();
foreach($search as $field=>$value)
{
$users = $users->where($field,'LIKE','%'.$value.'%');
}
$users = $users->SimplePaginate(15);
推荐阅读
- asp.net - 二进制文件未在 Radgrid 中加载
- android - 如何在 Kotlin 中创建包含 n 个元素的 ArrayList?
- css - 从 devtools 粘贴 CSS 会创建多行
- go - 在 golang 上使用 julien schmidt http 路由器时,Swagger 给出 404 not found 错误
- symfony - 如何从自定义供应商包中提取翻译
- javascript - 选择相同宽度和高度对象的脚本(Adobe Illustrator)
- node.js - 使用 Windows 10 运行 husky 时基本路径为空
- ios - 获取与数组分开的元素
- python - 我通过蓝牙向 arduino nano ble 33 发送了一个值,然后将值接收到了树莓派。如何将此值转换为数字?
- javascript - 如何在 Redis 中存储哈希。我正在使用 hset