拉拉维尔口才关系的问题 - 无法访问关系



我正面临一个雄辩的关系的问题。我是新来的,正在努力学习。

我有三个模型:

  1. village模型-包含村庄名称
  2. Patient模型-包含患者信息
  3. 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未定义!请问villageSerial怎么转?

我找到了错误。我有问题与foreignId约束我写的关系病人喜欢-

$table->integer('village')->nullable()

但是应该是-

$table->foreignId('village_id')->constrained()->nullable()

最新更新