【发布时间】:2021-03-13 01:22:15
【问题描述】:
我正在使用 Laravel 的 DB::select 运行查询以获取 MAX() 值。我只想要单行结果中的单列值。我用什么方法从DB::select() 语句中得到这个?
我发现这个答案enter link description here 提供了pluck() 和value()。 pluck() 的行为自 5.3 以来发生了变化,所以这不是答案。但是,当我使用value() 时,并没有得到我期望的值。相反,我得到了一个关于数组的错误:
$query = DB::select('SELECT max(sort) AS sort FROM man_pos WHERE manual_id = ?', [$manual_id]);
dd($query);
错误 HTTP 500 内部服务器错误
调用数组上的成员函数 value()
当然,我可以遍历数组来拉取值,但是使用方法的重点是避免这种多余的繁琐。
根据 cmets 中的请求,这里是一些示例数据和预期结果。一、查询:
MariaDB [dev]> SELECT MAX(sort) FROM man_pos WHERE manual_id = 1;
+-----------+
| MAX(sort) |
+-----------+
| 3 |
+-----------+
二,我想得到什么:
$max_sort = DB::select('SELECT max(sort) AS sort FROM man_pos WHERE manual_id = ?', [$manual_id])->getSingleValue();
dd($max_sort);
^ 3
【问题讨论】:
-
你能写出样本数据和预期数据吗
-
@NurbekBoymurodov 请查看编辑
标签: laravel