PHP前端开发

Laravel如何像ThinkPHP一样灵活组装复杂的查询条件?

百变鹏仔 3天前 #PHP
文章标签 灵活

laravel 条件组装

对于组装复杂的查询条件,tp 框架提供了方便的外部组装方式。与此同时,laravel 也提供了一些面向对象风格的条件组装方法,可用于创建灵活的查询。

以下是等效的 laravel 查询条件组装方式:

  1. 等值比较
$model = user::query();$model->where('status', 1); // 默认是 =
  1. 大于比较
$model->where('status', '>', 18);
  1. in 条件
$model->wherein('type', [1, 2, 3]);
  1. 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 框架类似的查询条件组装。