需要非线性查询时的Laravel最佳做法

时间:2017-11-09 10:59:19

标签: php laravel orm eloquent

有时我需要运行非线性查询,聚合或合并数据。

e.g。

SELECT a.field, b.field2
FROM a
JOIN (
  SUB QUERY....
) AS b
ON a.a = b.b
ORDER BY ...

但我总是怀疑实施它的最佳方式。我有一些选择,但我真的不喜欢它们中的任何一个:

  • DB :: select($ query):如果查询对where或order by子句有一些控制,则简单但有问题
  • 使用查询构建器DB :: table() - > join() - > limit():对控件有用但可能过于冗长
  • 使用\ Models \ A :: select() - > join() - > limit() - > get():我真的不喜欢因为返回的对象不是模特。
  • 使用特殊型号,由于全球范围,具有“强制性”左侧条件:全功能购买可能过度设计

你如何处理这些情况?您认为最佳做法是什么?

0 个答案:

没有答案