Laravel如何像ThinkPHP一样灵活组装复杂的查询条件?
laravel 条件组装
对于组装复杂的查询条件,tp 框架提供了方便的外部组装方式。与此同时,laravel 也提供了一些面向对象风格的条件组装方法,可用于创建灵活的查询。
以下是等效的 laravel 查询条件组装方式:
- 等值比较
$model = user::query();$model->where('status', 1); // 默认是 =
- 大于比较
$model->where('status', '>', 18);
- in 条件
$model->wherein('type', [1, 2, 3]);
- like 条件
$str = 'liling';$model->where('name', 'like', "%{$str}%");
使用这些方法,可以在查询外部方便地组装复杂的查询条件。需要注意的是,like 条件还需要指定通配符,如 % 之类的。
立即学习“PHP免费学习笔记(深入)”;
结合上述方法,可以构建出类似 tp 框架中条件组装的查询语句,如下所示:
$model = User::query();$model->where('status', 1) ->where('status', '>', 18) ->whereIn('type', [1, 2, 3]) ->where('name', 'like', "%{$str}%");$result = $model->get(); // 分页用 ->paginate();
通过这种方式,可以在 laravel 中实现与 tp 框架类似的查询条件组装。