我想将一些模型链接在一起如下:
ContentBlock>模板> TemplateFields> fieldValue方法
型号:
class ContentBlock extends Model {
public function template() {
return $this->hasOne('\App\Models\Template', 'id', 'template_id');
}
}
class Template extends Model {
public function templateFields() {
return $this->hasMany('\App\Models\TemplateField', 'template_id');
}
}
class TemplateField extends Model {
public function fieldValue() {
return $this->hasOne('\App\Models\FieldValue', 'field_id');
}
}
控制器:
$contentBlock = \App\Models\ContentBlock::with('template.templateFields.fieldValue')->find(1);
dd($contentBlock->template->templateFields());
// This works
现在,我可以像templateFields()一样深入 但是,如果我进一步关联,我会在Macroable.php第74行得到BadMethodCallException:方法fieldValue不存在'
dd($contentBlock->template->templateFields->fieldValue());