小滕的博客

小滕的技术点滴

laravel的collection的pluck方法的妙用

3 months ago · 0 MIN READ

比如说,有这样一张表 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 却达到了相同的效果。

···

xiao teng



Proudly powered by Canvas · Sign In