我正面临一个雄辩的关系的问题。我是新来的,正在努力学习。
我有三个模型:
village
模型-包含村庄名称Patient
模型-包含患者信息Serial
模型-包含患者序列
village
模型有多个patients
,patient
属于village
模型Patient
模型有多个Serial
模型,serial
模型属于patient
模型
serial
模型有日期字段。我正在查询以获得Serials
,其日期与today
匹配,并试图获得相关的模型数据。
模型代码
village
有多个Patient
public function patient()
{
return $this->hasMany(Patient::class);
}
Patient
模型属于village
public function village()
{
return $this->belongsTo(Village::class);
}
Patient
有多个serials
public function serials()
{
return $this->hasMany(Serial::class);
}
Serial
属于patient
public function patient()
{
return $this->belongsTo(Patient::class);
}
我用Serial::where('date', '2022-05-11')->with(['patient'])->get();
得到Patient
。
但我想得到嵌套模型,如Serial::where('date', '2022-05-11')->with(['patient.village'])->get();
我得到village
未定义!请问village
到Serial
怎么转?
我找到了错误。我有问题与foreignId约束我写的关系病人喜欢-
$table->integer('village')->nullable()
但是应该是-
$table->foreignId('village_id')->constrained()->nullable()