晚上好,我正在和 Laravel 玩一点,我遇到了这种情况。我有 2 个模型和 3 个表格来显示患者的生命体征。
Table pacient:
id
names
birthdate
Table vital_sign:
id
description
unit
table pacient_vital_sign
id
pacient_id
vital_sign_id
first_value
second_value
date_time_taken
和2个模型:
class Pacient extends Eloquent{
public static $timestamps = false;
public function vital_signs(){
return $this->has_many_and_belongs_to('VitalSign', 'pacient_vital_sign', 'pacient_id', 'vital_sign_id');
}
}
class VitalSign extends Eloquent{
public static $timestamps = false;
public static $table = 'vital_signs';
public function pacients(){
return $this->has_many_and_belongs_to('Pacient', 'pacient_vital_sign', 'vital_sign_id', 'pacient_id');
}
}
对于我的观点,我正在发送我想要显示其生命体征的患者:
$pacient = Pacient::where('active', '=', 1)->first();
因此,根据文档,我可以这样做来显示关键表数据:
@foreach($pacient->vital_signs as $sv)
<tr>
<td>{{ $sv->pivot->date_time_taken }}</td>
<td>{{ $sv->description }}</td>
<td>{{ $sv->pivot->first_value }} {{ $sv->pivot->second_value }}</td>
</tr>
@endforeach
但是这样,既不显示 date_time_taken 值,也不显示 first_value 或 second_value。显示说明。
现在,如果我做这样的事情
@foreach($pacient->vital_signs()->pivot()->get() as $sv)
<tr>
<td>{{ $sv->date_time_taken }}</td>
<td>{{ $sv->description }}</td>
<td>{{ $sv->first_value }} {{ $sv->second_value }}</td>
</tr>
@endforeach
显示 date_time_taken、first_value 和 secon_value 但我不知道如何反转关系以显示相关表列的值,在这种情况下,来自 vital_sign 表的描述
所以我在这两种情况下,我都错过了一些东西。有任何想法吗?我缺少什么?
谢谢