Eloquent 此集合实例上不存在属性[bank]。(视图:C:\xampp\htdocs\booking\resources\views\client\payment\make\u payment.blade.php)

Eloquent 此集合实例上不存在属性[bank]。(视图:C:\xampp\htdocs\booking\resources\views\client\payment\make\u payment.blade.php),eloquent,laravel-5.7,Eloquent,Laravel 5.7,我正在尝试获取数据库中当前的所有银行详细信息 我试过使用这个代码 $settings=Setting::where(['is_current' => 1])->get(); 但它给了我上面的错误 我做了一些研究,得到的答案告诉我首先添加到我的代码中,如下所示 $settings=Setting::where(['is_current' => 1])->first(); 但它只返回一列(满足提供条件的第一列) 当我尝试转储第一个代码的输出时(使用get

我正在尝试获取数据库中当前的所有银行详细信息

我试过使用这个代码

     $settings=Setting::where(['is_current' => 1])->get();
但它给了我上面的错误

我做了一些研究,得到的答案告诉我首先添加到我的代码中,如下所示

    $settings=Setting::where(['is_current' => 1])->first();
但它只返回一列(满足提供条件的第一列)

当我尝试转储第一个代码的输出时(使用get()),我得到了以下结果

当我尝试转储第二个代码的输出时(使用first()),我得到的就是这个

这就是我的观点

    @foreach($settings as $setting)
                        @if($settings->bank == 'Mpesa')
                        <li class="text-black text-center">{{ $setting->bank }}<br>
                            Paybill No: {{ $setting->account_no }} <br>
                            Account no: {{ $setting->branch }} <br></li>
                        @endif
                        <li class="text-black text-center">our {{ $setting->bank }} bank account<br>
                            Account No: {{ $setting->account_no }} <br>
                            Account Name: {{ $setting->name }} <br>
                            Branch: {{ $setting->branch }} <br></li>
                        @endforeach
@foreach($settings作为$setting)
@如果($settings->bank=='Mpesa')
  • {{{$setting->bank}}
    工资单编号:{{$setting->account_No}}
    账号:{{$setting->branch}}
  • @恩迪夫
  • 我们的{{{$setting->bank}}银行账户
    帐号:{{$setting->Account\u No}}
    帐户名称:{{$setting->Name}}
    分支:{{$setting->Branch}}
  • @endforeach

    我可能做错了什么?

    您需要使用
    ->get()
    ,然后需要更改

    @if($settings->bank == 'Mpesa')
    

    在您的视图文件中

    还要将
    @else
    子句添加到
    @if…@endif
    语句的其他列表中

    <ol class="text-black text-center">
        @foreach($settings as $setting)
            @if($setting->bank == 'Mpesa')
            <li class="text-black text-center">{{ $setting->bank }}<br>
                Paybill No: {{ $setting->account_no }} <br>
                Account no: {{ $setting->branch }} <br>
            </li>
            @else
            <li class="text-black text-center">our {{ $setting->bank }} bank account<br>
                Account No: {{ $setting->account_no }} <br>
                Account Name: {{ $setting->name }} <br>
                Branch: {{ $setting->branch }} <br>
            </li>
            @endif
        @endforeach
    </ol>
    
    
    @foreach($settings作为$setting)
    @如果($setting->bank=='Mpesa')
    
  • {{{$setting->bank}}
    工资单编号:{{$setting->account_No}}
    账号:{{$setting->branch}}
  • @否则
  • 我们的{{{$setting->bank}}银行账户
    帐号:{{$setting->Account\u No}}
    帐户名称:{{$setting->Name}}
    分支:{{$setting->Branch}}
  • @恩迪夫 @endforeach
    在条件和foreach循环下打印两次Mpesa。这是可以避免的吗?虽然我已经通过添加
    @else
    来处理另一部分来解决它,但这仍然是一样的。我还更新了您的答案,以帮助其他有相同问题的人。谢谢
    <ol class="text-black text-center">
        @foreach($settings as $setting)
            @if($setting->bank == 'Mpesa')
            <li class="text-black text-center">{{ $setting->bank }}<br>
                Paybill No: {{ $setting->account_no }} <br>
                Account no: {{ $setting->branch }} <br>
            </li>
            @else
            <li class="text-black text-center">our {{ $setting->bank }} bank account<br>
                Account No: {{ $setting->account_no }} <br>
                Account Name: {{ $setting->name }} <br>
                Branch: {{ $setting->branch }} <br>
            </li>
            @endif
        @endforeach
    </ol>