首页 > 解决方案 > 此集合实例 Laravel 上不存在属性 [照片]

问题描述

我不断收到一条错误消息,提示“此集合实例上不存在属性 [照片]”。我想使用 Session 在视图 bienvenu.blade.php 中显示医生的姓名。

这是我的医生控制器.php

public function welcomedoctor (Request $request) {
    $rdv=rendezvous::get(); 
    $medecin_id=$request->session()->get('doc_id');
      return view ('/bienvenu',['med'=>$medecin_id] ,['pat'=>$rdv] );
}

这是bienvenu.blade.php

  ...
      <img src="{{asset ('assets/img/uploads/'.$med->Photo)}}" class="card-img" alt="...">
      <h1 class="card-title"> Bienvenue Dr. {{$med->Nom}} {{$med->Prénom }} </h1> 
      <h3 class="card-text"> <i class='bx bx-plus-medical bx-rotate-270' style='color:#11709d'> </i>   
      {{$med->Spécialité}}</h3>   
  ...

这是 web.php :

Route::get('/bienvenu','doctor@welcomedoctor');

医生型号:

class doc extends Model
{
    protected  $table = 'doctor' ;
    protected $fillable = ['ID' , 'Photo' , 'demande'];



    public function article()
    {
        return $this->hasMany('App\blog');
    }
}

在此处输入图像描述

标签: laravelsession

解决方案


您必须首先从数据库中获取医生 ID 的数据。在您的示例中,您将变量中的医生 ID 发送$med到您的视图,而不是医生的数据本身。

这是一个示例,因为我只能根据您的问题历史来猜测您的型号名称:

$doctorId = $request->session()->get('doc_id');
$doctor = doc::where('ID', $doctorId)->first();

return view('bienvenu', ['med' => $doctor, 'pat' => $rdv]);

推荐阅读