【发布时间】:2016-03-28 02:03:32
【问题描述】:
我正在尝试升级我的项目 L5.1 -> L5.2。在upgrade guide 中,我不清楚一件事:
集合、查询构建器和 Eloquent 查询上的
lists方法 构建器对象已重命名为pluck。方法签名 保持不变。
没关系,将重构从 lists() 重命名为 pluck() 不是问题。但是 L5.0 和 L5.1 中有用的 pluck() 方法呢?
从一行中检索单个列
$name = DB::table('users')->where('name', 'John')->pluck('name');
L5.2 中旧的pluck() 方法的替代方法是什么?
更新:
例子:
var_dump(DB::table('users')->where('id', 1)->pluck('id'));
L5.1:
// int(1)
L5.2:
// array(1) { [0]=> int(1) }
【问题讨论】:
-
是的,这很令人困惑。在 5.0 中,
pluck()表示从一行中选择 1 个字段。然后在 5.1 中,他们删除了pluck()并将其替换为value()。然后在 5.2 中,他们将返回整列的lists()替换为pluck()。因此,如果您从 4.2 开始就一直存在,您可能会感到困惑:/
标签: php laravel eloquent query-builder laravel-5.2