【问题标题】:Laravel cicle foreach of a litteral object文字对象的Laravel循环foreach
【发布时间】:2018-07-05 11:15:41
【问题描述】:

我在 laravel 的项目中遇到了这个问题。 我有一个表Optional,其中$optional->column_name 的列名称为$bookingOptionals

我有这个代码:

@foreach($optionals as $optional)
    @if( $optional->column_name == 'coffee_break' ||
         $optional->column_name == 'permanent_coffee' ||
         $optional->column_name == 'permanent_coffeeplus'||
         $optional->column_name == 'integrazione_permanentcoffee' ||
         $optional->column_name == 'quick_lunch')

        <div class="col-lg-3">
            <fieldset>{{ $optional->nome }}</fieldset>
            <input type="text" name="{{ $optional->column_name }}" value="{{ $bookingOptionals['0']->$optional->column_name }}">
        </div>
    @else

    @endif
@endforeach

我有这个错误:

试图获取非对象的属性“column_name”(查看:/home/vagrant/code/prenotazioni/resources/views/dashboard/optional_booking_edit.blade.php)

【问题讨论】:

  • 什么是输出 dd($optionals);
  • 显示 {{dd($optional)}} ` @foreach($optionals as $optional){{dd($optional)}} `
  • $optional 没关系,因为如果我打印 $optiona->name 或 column_name 就可以了。
  • $optional 是数组还是对象??
  • 我猜$optional 是array(),如果你使用->toArray();

标签: laravel object foreach


【解决方案1】:

使用

@php
print_r($optional)
@endphp

在你的循环中查看它有哪些字段并确保 column_name 存在, $optional 是一个对象吗?还是数组?那么你应该删除原始 php 并可能使用

$optional['column_name'] 

改为

【讨论】:

  • 对不起,Laravel 的意思不是跳过框架函数,而是使用原始 php...
  • 我回答中的原始 php 只是为了查看该字段是否存在。您应该从代码中删除它。
猜你喜欢
  • 2013-05-20
  • 2018-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-13
  • 2016-02-10
  • 1970-01-01
  • 2010-10-31
相关资源
最近更新 更多