OctoberCMS,如何定义与儿童模特的关系?

时间:2018-01-10 08:09:12

标签: php laravel octobercms

我需要在模板中渲染子模型,我的父模型“Form”有db字段“field_id”,其中field_id等于id子模型“Field”。我如何访问子模型?我尝试添加与Field模型的关系:

public $hasOne = [
        'field' => ['\Webfather\Services\Models\Variation', 'key' => 'field_id']
    ];

并尝试在模板中显示:

{{form.field.name}}

但是form.field是空的

1 个答案:

答案 0 :(得分:1)

您的关系链接错误。

您需要做的是,您需要在子模型中定义form_idVariation

您需要插入form_id => '父模型(Form)id'那里

然后在Form模型

public $hasOne = [
    'field' => ['\Webfather\Services\Models\Variation', 'key' => 'form_id']
];

现在它将搜索子模型(Variation),其中form_id = id为父Form

然后你可以得到儿童记录。

要使其与当前场景一起使用,您需要将Form模型作为子项。 (代码更改少)

然后在Form模型

public $belongsTo = [
    'field' => ['\Webfather\Services\Models\Variation', 'key' => 'field_id']
];

现在可以使用

{{form.field.name}}