【问题标题】:show array item on blade laravel在 blade laravel 上显示数组项
【发布时间】:2022-12-10 11:20:29
【问题描述】:

阵列:

[
    {"id":1,"group":"post","name":"Mi","value":"x3 poco"},
    {"id":2,"group":"post","name":"iPhone","value":"14 pro"},
    {"id":3,"group":"post","name":"Nokia","value":"C5"},
    {"id":4,"group":"post","name":"Dell","value":"15 insp"}
    .
    .
    .
]

索引控制器.php文件:

$post = Post::all();
return view('index', compact('post'));

索引.blade.php文件:

Post Name: "{{ $post->name['iPhone']->value }}"

我想展示输出如下:

Post Name: "14 pro"

错误正在显示:

Error: Property [name] does not exist on this collection instance.

【问题讨论】:

  • foreach 在刀片内的集合上。

标签: php laravel laravel-blade


【解决方案1】:

您可以在集合上使用 where 按名称搜索:

Post Name: "{{ $post->where('name', 'iPhone')->first()?->value }}"

问号是为了防止没有您要查找的名称的项目。

【讨论】:

    【解决方案2】:

    你有一个数组数组,所以 name 在一个数字索引中......

    这个:

    [
        {"id":1,"group":"post","name":"Mi","value":"x3 poco"},
        {"id":2,"group":"post","name":"iPhone","value":"14 pro"},
        {"id":3,"group":"post","name":"Nokia","value":"C5"},
        {"id":4,"group":"post","name":"Dell","value":"15 insp"}
        .
        .
        .
    ]
    

    这是在 PHP 上吗:

    $array = [
        [
            'id' => 1,
            'group' => 'post',
            'name' => 'Mi',
            'value' => 'x3 poco',
        ],
        [
            // ...
        ],
    ];
    

    所以,你必须像这样迭代它:

    Posts:
    @foreach ($post as $item)
        Post Name: "{{ $item->value }}"
    @endforeach
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-08
      • 2021-09-04
      • 2018-02-04
      • 2017-01-05
      • 2021-08-18
      • 2016-10-02
      • 2018-04-25
      • 2020-04-23
      相关资源
      最近更新 更多