OctoberCMS相关模型动态默认值

时间:2017-04-14 23:30:22

标签: laravel-5 octobercms

我有一个后端控制器实现Backend\Behaviors\RelationController,我只想根据父模型值设置相关模型的默认值。

我尝试过以下操作:model.beforeCreateformExtendFields但没有运气。

谢谢大家。

1 个答案:

答案 0 :(得分:1)

经过一整天的搜索,我找到了解决方案,在OctoberCMS website上没有记录,我检查了源文件Backend\Behaviors\RelationController,之后我得到了以下解决方案。

您应该在控制器上实施relationExtendViewWidget,然后您可以从$widget->model访问该模型,如下所示:

class Members extends Controller
{
    public $implement = [
        'Backend\Behaviors\RelationController',
    ];

    public function relationExtendViewWidget($widget, $field)
    {
        $member = Member::findOrFail($this->params[0]);

        $widget->model->course_id = $member->course_id;
        $widget->model->member_id = $member->id;
    }

    public function relationExtendManageWidget($widget, $field)
    {
        $member = Member::findOrFail($this->params[0]);

        $widget->model->course_id = $member->course_id;
        $widget->model->member_id = $member->id;
    }
}

我认为应该在OctoberCMS documentation

的某处记录