【发布时间】:2017-05-17 11:57:50
【问题描述】:
如何在 Laravel DB 选择函数中从 MySql 获取结果后获取特定列值
下面是我的php代码。
$list = DB::select('SELECT DISTINCT a.pincode FROM table_name nvs
JOIN areas a on nvs.area_id = a.id
where nvs.city_id = ?;', [$area_id]);
以下是上述查询的结果。
[
{
"pincode": "560005"
},
{
"pincode": "560006"
}
]
我只需要密码值而不是键值对。所以我尝试了下面的代码。
return array_column($list->toArray(), 'pincode');
它调用数组上的成员函数 toArray()。
如何在不使用 foreach 循环的情况下仅获取值。
回答
我使用了下面的代码
$pincode_list = DB::table('table_name as nvs')
->join('areas as a', 'nvs.area_id', '=', 'a.id')
->select('a.pincode')
->where('nvs.city_id', '=', $area_id)
->distinct('a.pincode')->pluck('pincode')->toArray();
结果是:
[
"560067",
"560035"
]
【问题讨论】:
-
对单个值使用 pluck
标签: php laravel laravel-5 laravel-5.3