我正在尝试显示所选行从一到一关系的所有字段......
路线
Route::get('relasi-pasien', function()
{
$pasien = PasienIri::where('no_ipd', '=', '100')->first();
foreach($pasien->keadaanumum as $temp)
{
echo'<li>
Name : '.$temp->name.
'Tekdar: '.$temp->tekdar.
'Nadi : '.$temp->nadi.
'</li>';
}
});
帕西恩伊里模型的关系
public function keadaanumum()
{
return $this->hasOne('KeadaanUmum', 'no_ipd');
}
KeadaanUmum's Model的关系
public function pasieniri()
{
return $this->belongsTo('PasienIri', 'no_ipd');
}
当我以这种方式使用时,它显示错误:"试图获取非对象的属性">
但是,如果我只想显示其中一个字段,它就可以了,
显示一个字段:
Route::get('relasi-pasien', function()
{
$pasien = PasienIri::where('no_ipd', '=', '100')->first();
return $pasien->keadaanumum->name;
});
任何人都可以帮助我以一对一的关系显示所有字段
还是我真的必须把它改成一对多的关系?因为如果我把它改成一对多的关系,它就可以了
foreach($pasien->keadaanumum as $temp)
由于这是一对一的关系,因此您无需对其进行foreach
。 试试这个:
echo
'<li>' .
'Name : ' . $pasien->keadaanumum->name .
'Tekdar: ' . $pasien->keadaanumum->tekdar .
'Nadi : ' . $pasien->keadaanumum->nadi .
'</li>'
;
您可以按照您所说的操作并将其更改为一对多关系,但您很可能需要从PasienIri
表中删除指向KeadaanUmum
表的链接,因为这意味着它只会与单个相关条目匹配。 然而,这完全取决于您是否真的想这样做(为每个PasienIri
允许许多KeadaanUmum
(。