我正在尝试升级我的项目L5.1 -> L5.2。在升级指南,有一件事我不清楚:
集合、查询生成器和雄辩查询生成器对象上的
lists方法已重命名为pluck。方法签名保持不变。
没关系,将重构从lists()重命名为pluck()并不是一个问题。但是,在L5.0和L5.1中有什么有用的pluck()方法呢?
来自5.0文件
从行中检索单个列 $name =DB::table(‘user’)->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) }发布于 2015-12-21 22:28:25
pluck()目前的替代方案是value()。
发布于 2018-06-11 11:58:38
laravel pluck返回一个数组
如果您的查询是:
$name = DB::table('users')->where('name', 'John')->pluck('name');然后数组是这样的(键是项的索引。自动递增值):
[
1 => "name1",
2 => "name2",
.
.
.
100 => "name100"
]但如果你真这么做
$name = DB::table('users')->where('name', 'John')->pluck('name','id');然后关键是数据库中的实际索引。
key||value
[
1 => "name1",
2 => "name2",
.
.
.
100 => "name100"
]您可以将任何值设置为键。
发布于 2018-12-13 09:38:09
在Laravel 5.1+中,您可以使用值()而不是pluck。
要获得第一次出现,您可以使用
DB::table('users')->value('name');或者使用,
DB::table('users')->where('id', 1)->pluck('name')->first();https://stackoverflow.com/questions/34405138
复制相似问题