这对我来说真的很奇怪。当我想从行显示数据时,一些数据返回错误。
我只能查看id
s (1-7, 10, 13-17,22 and so)
的数据,id
(8,9,11,12,18,19,20,21..)
返回错误的数据。
如果我去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]
是表格pasiens
这就是我在PasienPoliController
中所拥有的:
public function show($id)
{
$pasienpoli = PasienPoli::find($id);
$pasien = Pasien::find($id)->PasienPoli;
return view('pasienpoli.show', compact('pasienpoli','pasien'));
}
PasienPoli Model
:
public function pasien()
{
return $this->belongsTo('App\Pasien');
}
Pasien Model
:
public function pasienpoli()
{
return $this->hasMany('App\PasienPoli');
}
show.blade.php
:
<h2>{{$pasienpoli->pasien->nama}}</h2>
pasien_polis
的表结构:
id - int(10) - auto_increment
polyclinic_id - int(11)
pasien_id - int(11)
penyakit - varchar(50)
pasiens
的表结构:
id - int(10) - auto_increment
nama - varchar(50)
这有什么问题?
答案 0 :(得分:1)
您的数据库中很可能不存在这些ID。在您的视图中检查您的数据库或dd集合,以了解正在发生的事情。
答案 1 :(得分:1)
将您的代码修改为:
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不存在,您可以返回另一个视图或您想要的内容。