laravel的collection的pluck方法的妙用
比如说,有这样一张表 sku
:
它有三个字段:
skuid,spuid,skcid
现在我有一个数组:
$skuIds = [1, 2, 3];
现在呢,我想读取出 $skuIds
所对应的 skcid
,然后组装成一个数组,数组的格式是这样的:
$arr = [
// skuid => $skcid
];
这样的话我就可以直接通过 skuid
来获取到对应的 skcid
了,之前我是这样做的:
$rows = DB::table('sku')->whereIn('skuid', $skuIds)->get();
$arr = [];
foreach ($rows as $row) {
$arr[$row->skuid] = $row->skcid;
}
这样解决没有问题,但是日常开发中经常需要这样的方式去读取数据,所以后面封装成了一个方法。直到今天,看了 pluck
方法,才知道 pluck
早就有了这个功能,利用 pluck
我们可以这样:
$arr = DB::table('sku')->whereIn('skuid', $skuIds)->get()->pluck('skcid', 'skuid');
简单的 pluck
却达到了相同的效果。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭