【发布时间】:2014-04-19 00:37:57
【问题描述】:
我使用 Laravel 已经有一段时间了,非常喜欢它,但是我似乎在使用查询生成器时遇到了问题。
我的查询中有多个 UNIONS,所有这些都完全按照我的意愿工作,但是当我添加 ->take() 方法来限制我的结果时,会发生一些奇怪的事情,而不是坐在末尾的限制我的查询位于第一个选择中。
现在的例子:
(select * FROM fruit LIMIT 1) union (select * FROM veg)
我希望它如何工作的示例:
(select * FROM fruit) union (select * FROM veg) LIMIT 1
基本代码示例:
$fruit = DB::table('fruit')
->select(*);
$veg = DB::table('veg')
->select(*);
$query = $fruit->union($veg)->take(1)->get();
return $query;
有人遇到过同样的问题吗?更重要的是有没有人设法解决这个问题?我一直在寻找几个小时的解决方案,因此我们将不胜感激。
【问题讨论】:
-
Fluent Query Builder 中没有 mysql union 函数,union 期望添加另一个查询。