【问题标题】:Passing multidimensional array to blade using controller使用控制器将多维数组传递给刀片
【发布时间】:2017-02-27 11:14:21
【问题描述】:

我想使用 Controller 方法将多维数组传递给 Blade 文件:

        return view('msg.simple', [
            'message' => 'here is my message',
            'links' => [
               [
                    'title' => 'link title 1',
                    'url' => 'www.example.com'
               ],
               [
                    'title' => 'link title 2',
                    'url' => '#2'
               ]
            ]
        ]);

查看文件(刀片):

@foreach($links as $link)
    <a href="{{$link->url}}">{{$link->title}}</a>
@endforeach

但它显示以下错误:

htmlspecialchars() 期望参数 1 是字符串,给定数组

【问题讨论】:

  • 可能与您将链接作为数组传递但尝试将标题和 url 作为对象属性访问?

标签: laravel laravel-blade


【解决方案1】:

使用这个:

$data = [
            'message' => 'here is my message',
            'links' => [
                [
                    'title' => 'link title 1',
                    'url' => 'www.example.com'
                ],
                [
                    'title' => 'link title 2',
                    'url' => '#2'
                ]
            ]
        ];
        return view('msg.simple',compact('data'));

在视图文件中:

        @foreach($data['links'] as $link)
            <a href="{{$link['url']}}">{{$link['title']}}</a>
        @endforeach

【讨论】:

    【解决方案2】:

    试试

    @foreach($links[0] as $link)
        <a href="{{$link->url}}">{{$link->title}}</a>
    @endforeach
    

    【讨论】:

      猜你喜欢
      • 2019-05-18
      • 1970-01-01
      • 1970-01-01
      • 2019-04-13
      • 2020-12-29
      • 1970-01-01
      • 2019-12-19
      • 2019-11-13
      • 1970-01-01
      相关资源
      最近更新 更多