【问题标题】:Can't access object values in Laravel blade loop无法在 Laravel 刀片循环中访问对象值
【发布时间】:2021-12-05 07:06:55
【问题描述】:

我在尝试访问 Laravel Blade 中的对象值时遇到了奇怪的行为。

我的数据如下所示:

<?php


array:11 [▼
  "Monday, 18.10.2021" => array:6 [▶
    1 => array:1 [▶
      0 => {#1532 ▶
        +"id": 252
        +"status": 1
        +"heading": "Online Event für Test #1"
        +"customer": "Test #1"
        +"event_type_id": 12
        +"slug": "event_11111"
        +"datetime": "2021-10-18 10:00:00"
        +"name": "Online Event"
        +"duration": 3
      }
    ]
    2 => array:1 [▶
      0 => {#1501 ▶
        +"id": 252
        +"status": 1
        +"heading": "Online Event für Test #1"
        +"customer": "Test #1"
        +"event_type_id": 12
        +"slug": "event_11111"
        +"datetime": "2021-10-18 10:00:00"
        +"name": "Online Event"
        +"duration": 3
      }
    ]
    3 => []
    5 => []
    6 => []
    31 => []
  ]
  "Tuesday, 19.10.2021" => array:6 [▶
    1 => []
    2 => []
    3 => []
    5 => []
    6 => []
    31 => []
  ]
  "Wednesday, 20.10.2021" => array:6 [▶
    1 => []
    2 => []
    3 => []
    5 => []
    6 => []
    31 => []
  ]
  "Thursday, 21.10.2021" => array:6 [▶
    1 => []
    2 => []
    3 => []
    5 => []
    6 => []
    31 => []
  ]
  "Friday, 22.10.2021" => array:6 [▶
    1 => array:1 [▶
      0 => {#1637 ▶
        +"id": 253
        +"status": 1
        +"heading": "Online Event für Test #2"
        +"customer": "Test #2"
        +"event_type_id": 12
        +"slug": "event_22222"
        +"datetime": "2021-10-22 14:00:00"
        +"name": "Online Event"
        +"duration": 5
      }
    ]
    2 => array:1 [▶
      0 => {#1615 ▶
        +"id": 253
        +"status": 1
        +"heading": "Online Event für Test #2"
        +"customer": "Test #2"
        +"event_type_id": 12
        +"slug": "event_22222"
        +"datetime": "2021-10-22 14:00:00"
        +"name": "Online Event"
        +"duration": 5
      }
    ]
    3 => []
    5 => []
    6 => []
    31 => []
  ]
  "Saturday, 23.10.2021" => array:6 [▶
    1 => []
    2 => []
    3 => []
    5 => []
    6 => []
    31 => []
  ]
  ....

我的刀片文件是这样的:

<?php

             @foreach($overview_pivot as $datetime => $users)
                <tr>
                  <td>{{ $datetime }}</td>
                  @foreach($users as $user_id => $user_events_array)
                  <td>
                    @foreach($user_events_array as $events)
                      <ul class="list-group list-group-flush" data-toggle="checklist">
                        @foreach($events as $event)

                           //Works fine
                           {{ $event  }} 

                           //Error
                           {{ $event->id  }} 
                        
                        @endforeach
                      </ul>
                    @endforeach

                  </td>
                  @endforeach
                </tr>

              @endforeach

问题:

当我尝试访问对象 {{ $event }} 时一切正常,但是当我尝试回显对象值时(例如 {{ $event->id }})。我收到错误“尝试获取非对象的属性 'id'”。

知道我的代码有什么问题吗?

【问题讨论】:

  • 我认为 $event 是一个数组而不是一个对象试试这个:$event['id']
  • 向你展示你在哪里将数据传递给视图的控制器?
  • 它接缝@foreach($events as $event) 不需要。 $events-&gt;id or $events['id']
  • 多么愚蠢的错误????谢谢!摆脱了最后一个 foreach 循环,一切都很好。

标签: arrays laravel object laravel-5


【解决方案1】:

@foreach($events as $event) 是错误的。

删除最后的@foreach

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-26
    • 2018-05-27
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 2021-02-24
    • 2017-12-09
    • 2019-10-11
    相关资源
    最近更新 更多