Ske*_*ets 2 laravel laravel-query-builder laravel-5.5
假设我有 2 个查询构建器:
$builderA = User::where("happiness", ">", 5);
$builderB = User::where("color", "blue");
Run Code Online (Sandbox Code Playgroud)
除了输入一个新的构建器之外,有没有一种方法可以组合这两个构建器,从而得到如下所示的构建器?
$combined = User::where("happiness", ">", 5)->where("color", "blue");
Run Code Online (Sandbox Code Playgroud)
对于更复杂的情况,您可以使用tap和mergeWheres:
$where = User::where('a', 1)->where('b', '>', 2)->where('c', '<', 2)->where('d', '<>', 2);
$combined = User::where('e', 5)->tap(function (Builder $builder) use ($where) {
$builder->mergeWheres($where->wheres, $where->getBindings());
});
Run Code Online (Sandbox Code Playgroud)
Laravel 5.6 添加了几种处理子查询的方法:
| 归档时间: |
|
| 查看次数: |
1466 次 |
| 最近记录: |