php - Laravel 查询生成器限制

标签 php mysql laravel crud

我已经使用 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/

相关文章:

php - http_response_code() 不工作,总是输出 200

php - 用于日期算术和比较的可移植 SQL

php - 在 PHP 中导入 excel 工作表时,我无法区分两个对象

Laravel 8,顺风 CSS 初始化

php - 无法登录到适当的页面

php - Laravel 4 - PDF 导出库的最佳选择

php - mysql 计数有问题

php - 通过 PDO 使用 MySQL 时收到 "SQLSTATE[42000]: LIMIT ERROR"

php - MySQL 奇怪的慢查询

mysql - 使用 Postgres 在 Laravel 5.3 中更新区分大小写的数据库字段