如何将多维数组转换为集合到Laravel

时间:2019-10-31 22:15:40

标签: php arrays laravel eloquent

从API中,我得到一个多维数组的响应,如:

enter image description here

如何将该数组转换为雄辩的对象,以便可以使用$collection->Query->Country or $collection->Carriers->where('id',12345) ...来访问视图

我尝试:

$res1 = collect($res1)->map(function($row) {
    return collect($row);
});

dd($res1);

但没有成功!

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可以使用

$collection['Carriers']->where('id',12345)
// or
collect($collection['Carriers'])->where('id',12345)

要使用您可以使用的属性制作新的口才模型

$query =  (new Query())->setRawAttributes($collection['Query']);

然后使用

$query->Country;

或者您可以用这种粗略的方式做到

$model = (new Model())->setRawAttributes($res1);

和您提到的用法

$model->Query->Country or $model->Carriers->where('id',12345)