Laravel 查询生成器结合 pluck() 和 keyBy()
Laravel query builder combine pluck() with keyBy()
我希望 Laravel 查询生成器 return 一个 key => value
.
的数组
例如,对于 users
table 有列 username
,email
return 类似:
Array
(
[email1] => username1
[email2] => username2
)
现在,我可以用 pluck('username')
或 keyBy('email')
实现每一个。
我可以使用 php 数组函数来操作 return 由 keyBy
编辑的结果,以实现我想要的:
$tmpRes = DB::table('users')
->select(['username', 'email'])
->get()->keyBy('email')->toArray();
$res = array_map(function ($el) {
return $el->username;
}, $tmpRes);
不知道有没有直接的方法。
Pluck 实际上允许第二个参数作为键
public static function pluck($column, $key = null)
所以你所要做的就是将它传递给
$tmpRes = DB::table('users')
->pluck('username', 'email')
->toArray();
我希望 Laravel 查询生成器 return 一个 key => value
.
例如,对于 users
table 有列 username
,email
return 类似:
Array
(
[email1] => username1
[email2] => username2
)
现在,我可以用 pluck('username')
或 keyBy('email')
实现每一个。
我可以使用 php 数组函数来操作 return 由 keyBy
编辑的结果,以实现我想要的:
$tmpRes = DB::table('users')
->select(['username', 'email'])
->get()->keyBy('email')->toArray();
$res = array_map(function ($el) {
return $el->username;
}, $tmpRes);
不知道有没有直接的方法。
Pluck 实际上允许第二个参数作为键
public static function pluck($column, $key = null)
所以你所要做的就是将它传递给
$tmpRes = DB::table('users')
->pluck('username', 'email')
->toArray();