laravel 中的某些 ID 查看 returns 错误

View returns error for certain ids in laravel

这对我来说真的很奇怪。当我想显示行中的数据时,出现一些数据 return 错误。 我只能查看 ids (1-7, 10, 13-17,22 and so) 的数据, id (8,9,11,12,18,19,20,21..) return 错误的数据。

如果我转到 http://manajemenpasien.com/PasienPoli/17,我会得到预期的页面。但是当转到此 http://manajemenpasien.com/PasienPoli/19 时,我收到此错误:

ErrorException in Collection.php line 1564:
Property [nama] does not exist on this collection instance. (View: D:\myProjects\manajemenPasien\resources\views\PasienPoli\show.blade.php)

[nama]是tablepasiens

中的字段名

这是我在 PasienPoliController 中的内容:

public function show($id)
{
   $pasienpoli = PasienPoli::find($id);
   $pasien = Pasien::find($id)->PasienPoli;

   return view('pasienpoli.show', compact('pasienpoli','pasien'));  
   }

帕西恩波利 Model:

public function pasien()
{
    return $this->belongsTo('App\Pasien');
}

巴仙 Model:

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

show.blade.php:

<h2>{{$pasienpoli->pasien->nama}}</h2>

Table pasien_polis 的结构:

id - int(10) - auto_increment
polyclinic_id - int(11)
pasien_id - int(11)
penyakit - varchar(50)

Table pasiens 的结构:

id - int(10) - auto_increment
nama - varchar(50)

这有什么问题?

您的数据库中很可能不存在这些 ID。检查您的数据库或在您的视图中添加集合以了解发生了什么。

将您的代码修改为:

public function show($id)
{
   if(($pasienpoli = PasienPoli::find($id)) == NULL)
   return view('pasienpoli.notfound', []);  
   $pasien = Pasien::find($id)->PasienPoli;

   return view('pasienpoli.show', compact('pasienpoli','pasien'));  
}

如果 ID 不存在,您可以 return 其他视图或您想要的视图。