使用控制器将多维数组传递给刀片

时间:2017-02-27 11:14:22

标签: laravel laravel-blade

我想使用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为字符串,给定数组为

2 个答案:

答案 0 :(得分:3)

使用此:

$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

答案 1 :(得分:0)

尝试

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