使用 Laravel Collection 中的 Foreach

问题描述 投票:0回答:1

我在 laravel 11 中有收集数据

        $data=Collection::make([
            ['id'=>1,'name'=>'Akta Jual Beli'],
            ['id'=>2,'name'=>'Akta Hibah'],
            ['id'=>3,'name'=>'Sertifikat'],
            ['id'=>4,'name'=>'Surat Perjanjian'],
            ['id'=>99,'name'=>'Lainnya']
        ]);

我想使用 foreach 显示名称

这是我在 Blade 中的代码

            @foreach($data as $r)
            {{ $r->name }}<br>
            @endforeach

但是错误,出了什么问题

Attempt to read property "name" on array
arrays laravel foreach collections
1个回答
0
投票

除了转换为对象。

data_get()
对于数组和对象可以以相同的方式使用。

$data = collect([
    ['id' => 1, 'name' => 'Akta Jual Beli'],
    (object) ['id' => 2, 'name' => 'Akta Hibah'],
    new class {
        public int $id = 3;
        public string $name = 'Sertifikat';
    },
]);

foreach ($data as $r) {
    dump(data_get($r, 'name'));
}
© www.soinside.com 2019 - 2024. All rights reserved.