我已经使用 Laravel 一段时间了,并且非常喜欢它,但是我似乎在使用查询生成器时遇到了困难。
我的查询中有多个 UNION,它们都按照我想要的方式工作,但是当我添加 ->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;
有人遇到过同样的问题吗?更重要的是有人设法解决这个问题吗?我花了几个小时寻找解决方案,因此我们将不胜感激。
最佳答案
编辑,抱歉,这也行不通,实际上 FQB 不知道联合。
我宁愿建议您使用 Eloquent 来构建它,但如果您想这样做,这可能会起作用:
$fruit->union($veg)->first();
关于php - Laravel 查询生成器限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22392837/