尝试使用laravel blade foreach获取非对象错误的属性

时间:2018-03-06 09:40:22

标签: php laravel

您好我有Trying to get property of non-object错误,我似乎无法解决。在我看来,我有一个@foreach,使用关系表。当我检查它们时,这种关系似乎很好。我的银行表中也没有空值。我有一个用户原则表,银行表,我用作银行账户表的关系。根据用户原则,我不使用@foreach,数据正确显示{{ $bankAcc->userprinciple->principle }}

这是我的银行账户模型(与银行的关系):

public function banks(){
    return $this->belongsTo('App\Models\Banks', 'bank_detail_id');
}

这是我的控制器:

public function edit($id){
    $bankAcc = BankingAccount::where('id', $id)->with('userprinciple')->with('banks')->first();
    return view('admin.administration.banking.accounts.edit', compact('bankAcc'));
}

我的观点:

<select class="form-control" name="name_of_bank">
    @foreach($bankAcc->banks as $bankA)
        <option value="{{ $bankA->id }}">{{ $bankA->name }}</option>
    @endforeach
</select>

2 个答案:

答案 0 :(得分:0)

试试这个

<select class="form-control" name="name_of_bank">
        @foreach($bankAcc['banks'] as $bankA)
          <option value="{{ $bankA['id'] }}">{{ $bankA['name'] }}</option>
        @endforeach
      </select>

答案 1 :(得分:0)

尝试转储结果$bankAcc->banks,如果您获得了一个雄辩的收藏,那么在代码下方将解决问题

<select class="form-control" name="name_of_bank">
    @foreach($bankAcc->banks as $bankA)
         @if($bankA)
            <option value="{{ $bankA->id }}">{{ $bankA->name }}</option>
         @endif
    @endforeach
</select>

如果您获得单个模型,那么您不需要循环