首页 > 解决方案 > 试图获取非对象的属性“名称”?当我使用 pluck()

问题描述

     Trying to get property 'name' of non-object? when i using pluck() for retrive data from database

//a.contoller       
     public function index(){
      $insurance = Insurance_Providers::pluck('id','name');
      $physicians = Physicians::pluck('id','pp','sp');
      $pharmacies = Pharmacies::pluck('id','name');
      return view('auth.profile',compact('insurance','physicians','pharmacies'));
    }

//a.blade.php
    <select name="insurance" id="ip" class="form-control" required>
    <option value="">Insurance Provider</option>
     @foreach($insurance as $pro)   <option value="{{ $pro->name }}">{{ $pro->name }}</option>
     @endforeach
     </select>

试图获取非对象的属性“名称”?当我使用 pluck() 从数据库中检索数据时

标签: phplaravel-5

解决方案


您在 pluck 中使用了三个参数,

$insurance = Insurance_Providers::pluck('name', 'id'); // name is value and id is key

在刀片中这样做,

@foreach($insurance as $pro)   
    <option value="{{ $pro }}">{{ $pro }}</option>
@endforeach

它应该工作。

第一个参数是值,第二个是键


推荐阅读