【问题标题】:Laravel 5.0 can't parse array to viewLaravel 5.0 无法解析数组以查看
【发布时间】:2016-08-24 10:13:42
【问题描述】:

无法解析要查看的数组。

这是数组

 Array (
    [positions] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [company_id] => 1
                    [title] => Software Developer
                )

            [1] => Array
                (
                    [id] => 2
                    [company_id] => 2
                    [title] => Accountant
                )

            [2] => Array
                (
                    [id] => 3
                    [company_id] => 3
                    [title] => Insurance salesman
                )
        )
)

这是控制器

$data = array(
    'positions' => $newarray['data']
);
return view('mypage', $data);

这是我试图呼应标题的视图

@foreach($positions as $position)
{{ $position->title }}<br>
@endforeach

我在“试图获取非对象的属性”视图中收到此错误

【问题讨论】:

    标签: php arrays laravel laravel-5 controller


    【解决方案1】:

    首先正确格式化您的数组,如下所示:

    $positions = array
    (
        array(
            'id' => 1,
            'company_id' => 1,
            'title' => 'Software Developer'
        ),
        array(
            'id' => 2,
            'company_id' => 2,
            'title' => 'Accountant'
        ),
        array(
            'id' => 3,
            'company_id' => 3,
            'title' => 'Insurance salesman'
        )
    );
    

    将数据传递给视图:

    $data = array(
        'positions' => $positions
    );
    return view('mypage', $data);
    

    现在您可以像下面这样回显标题:

    @foreach($positions as $position)
        {{ $position['title'] }}<br>
    @endforeach
    

    【讨论】:

      【解决方案2】:

      我已经回答了类似的问题here,但如果它对你有帮助,那就在这里。

      @foreach($data['positions'] as $position)
      {{ $position['title'] }}<br>
      @endforeach
      

      另外,你应该改变:

      $data = array(
          'positions' => $newarray['data']
      );
      

      类似于:

      $data = array(
          'positions' => $someDataArray;
      );
      

      【讨论】:

        【解决方案3】:
        @foreach($positions as $position)
          {{ $position['title'] }}<br>
        @endforeach
        

        【讨论】:

        • 我不知道你为什么要投票,但你的代码肯定不会工作,原因有两个。因为 OP 在视图中传递了$data 数组,并且他无论如何都破坏了代码。
        • 代码基本没问题。但是如果 key 不存在会发生什么?我对你的代码做了一些小改动。
        猜你喜欢
        • 2021-05-11
        • 1970-01-01
        • 2015-01-20
        • 1970-01-01
        • 2016-08-09
        • 1970-01-01
        • 2020-11-02
        • 2018-06-24
        • 2015-03-03
        相关资源
        最近更新 更多