【发布时间】:2021-07-25 12:48:24
【问题描述】:
我想在过滤所有和特定字段中的记录时重构我的源代码。
目前,我正在通过在我的请求中传递“搜索”来过滤所有字段:
GET 请求:/api/users?search=
public function index(Request $request) {
$search = request("search") ?? "";
$users = $users->where(function ($query) use ($search) {
$query->where('code', "like", "%" . $search . "%");
$query->orWhere("first_name", "like", "%" . $search . "%");
$query->orWhere("last_name", "like", "%" . $search . "%");
$query->orWhereHas('department', function ($q) use ($search) {
$q->where('name', "like", "%" . $search . "%");
});
});
return $users->paginate(10);
}
我尝试关注this article,现在我的 GET 请求应该是:/api/users?first_name=Juan&last_name=Cruz
我是否应该像 /api/users?all=Juan 这样通过 all 请求来一次过滤所有字段?
应用此类功能时,最好的方法是什么?
如果您知道任何可以作为我参考的文章/资源,那将是一个很大的帮助。
【问题讨论】:
-
如果你想为数据表实现这个,你可以使用Laravel Datatable
-
@Raja 不幸的是,我不是。我在前端使用 vue.js 和 Vuetify
标签: php laravel filter eloquent filtering