【发布时间】:2021-08-03 13:11:24
【问题描述】:
我正在使用 Laravel 8 构建一个项目。我需要处理包含 page、limit、searchColumn、searchText、orderColumn 和 orderDirection 的请求参数。有时我需要在关系中搜索。我在下面构建了这个系统,但它不适用于关系。
$query = (new Log())->newQuery();
$query->with('customer', 'domain', 'type');
if ($request->searchColumn != "" && $request->searchColumn != NULL) {
$query->where($request->searchColumn, 'LIKE', '%' . $request->searchText . '%');
}
if ($request->orderColumn != "" && $request->orderColumn != NULL) {
$query->orderBy($request->orderColumn, $request->orderDirection);;
}
$logs = $query->paginate($request->limit, ['*'], '', $request->page);
例如,如果$request->searchColumn 是'customer.name',我应该如何搜索?我尝试了几种方法,但它们都不起作用。
【问题讨论】:
-
约束急切加载有帮助吗?它在关系模型上添加了一个约束。 laravel.com/docs/7.x/…
-
我应该在第二行删除'with'吗?
标签: laravel orm model laravel-8