【发布时间】:2018-05-24 10:12:12
【问题描述】:
我已经构建了多个 Builder 实例。它们中的每一个都包含一些复杂的“where”条件。
我需要将它们合并到一个大型 Builder 中,以便只向数据库发出一个请求。它们都应该合并为 ( ( builder 1 ) OR (builder 2) ....) ,其中每个构建器 N 都扩展为一些 SQL 查询。
在 Yii 中我使用了这个函数 mergeWith 。我在 Laravel 中找不到类似的功能。能否请您指出我如何通过 eloquent 正确地做到这一点?
已编辑
这是single Builder 的样子,
所有其他构建器在 Where 子句中只包含不同的单词。
【问题讨论】:
-
尝试使用“联合”laravel.com/docs/5.5/queries#unions。在这一刻,我无法用 laravel 看到其他方式。我希望我对您有所帮助
-
我看不到应该如何为 where 子句传递诸如“OR”或“AND”之类的连接条件
-
如果您实际发布您尝试加入的查询,这可能会有所帮助。
-
已编辑,添加了单个查询的示例,该示例包含在其中一个构建器中。并且此构建器需要使用 OR 运算符(或 and ,取决于情况)与其他 bulders 连接
-
感觉跟参数分组和闭包有关系,还在摸索如何
标签: php laravel eloquent laravel-5.5