【问题标题】:Nested foreach in Laravel BladeLaravel Blade 中的嵌套 foreach
【发布时间】:2018-03-07 13:16:53
【问题描述】:

我是 Laravel 的新手,我正在尝试从控制器显示数据以供查看。我能够轻松地显示来自@foreach( $item->name, $item->address, etc) 第一级的数据。但是我很难通过 Laravel 刀片约定访问“subscriber_subscription”的孩子。我尝试通过以下代码访问它:

@foreach ($items as $item)
    ...
    @foreach($item->subscriber_subscription as $subs)
    ...
    ...
    @endforeach
    ...
    ...
@endforeach

使用的JSON数据是:

[  
   {  
      "id":1,
      "name":"Jollibee",
      "address":"31st cor. 9th Strata bldg. Ortigas Ave. Pasig City, 600",
      "contact":"87000",
      "email":"admin@jollibee.com.ph",
      "created_at":"2017-09-17 01:04:11",
      "updated_at":"2017-09-17 01:04:12",
      "subscriber_code":"jollibee",
      "subscriber_subscription":[  
         {  
            "id":1,
            "subscriber_id":1,
            "subscription_id":1,
            "start_date":"2017-09-17 01:35:27",
            "end_date":"2018-09-17 01:35:27",
            "created_at":"2017-09-17 01:35:23",
            "updated_at":"2017-09-17 01:35:23"
         },
         {  
            "id":6,
            "subscriber_id":1,
            "subscription_id":1,
            "start_date":"2017-10-17 01:35:27",
            "end_date":"2018-10-17 01:35:27",
            "created_at":"2017-09-17 01:35:23",
            "updated_at":"2017-09-17 01:35:23"
         }
      ]
   },
   {  
      "id":2,
      "name":"Bench",
      "address":"2207 Tektite Bldg. Ortigas Ave. Pasig City, 1600",
      "contact":"+639171234567",
      "email":"admin@benchtm.com.ph",
      "created_at":"2017-09-17 01:47:10",
      "updated_at":"2017-09-17 01:47:11",
      "subscriber_code":"bench",
      "subscriber_subscription":[  
         {  
            "id":4,
            "subscriber_id":2,
            "subscription_id":1,
            "start_date":"2017-09-17 14:19:15",
            "end_date":"2018-09-17 14:19:16",
            "created_at":"2017-09-17 14:19:20",
            "updated_at":"2017-09-17 14:19:20"
         },
         {  
            "id":5,
            "subscriber_id":2,
            "subscription_id":2,
            "start_date":"2017-09-17 14:19:15",
            "end_date":"2018-09-17 14:19:16",
            "created_at":"2017-09-17 14:19:20",
            "updated_at":"2017-09-17 14:19:20"
         }
      ]
   }
]

我收到此错误:Invalid argument supplied for foreach()

任何帮助将不胜感激。和平:-)

谢谢

【问题讨论】:

  • 你需要在for loopjson_decode($items)之前解码你的json
  • 您可以尝试将元素作为数组而不是像这样的对象访问@foreach($item['subscriber_subscription']
  • @PandhiBhaumik 他在for 中使用了 json 格式的数据,所以这些都无济于事
  • 我认为他只向我们展示了 JSON 数据,但他使用的是模型,因为我可以看到属性。
  • @PandhiBhaumik - 尝试了这个 @foreach($item['subscriber_subscription'] as $subs) 但它仍然没有工作

标签: php laravel blade


【解决方案1】:

我已经解决了。显然,我必须使用 $item->SubscriberSubscription 这是我的模型的名称

【讨论】:

    猜你喜欢
    • 2015-07-10
    • 2017-05-09
    • 2013-06-01
    • 2015-04-30
    • 2016-10-02
    • 2017-08-31
    • 2019-06-26
    • 2018-11-04
    • 2016-04-27
    相关资源
    最近更新 更多