Laravel 5 OctoberCMS相关模型动态默认值

Laravel 5 OctoberCMS相关模型动态默认值,laravel-5,octobercms,Laravel 5,Octobercms,我有一个后端控制器实现backend\Behaviors\RelationController,我只想根据父模型值设置相关模型的默认值 我尝试了以下方法:model.beforeCreate、formextendedfields,但没有成功 谢谢大家。经过一整天的搜索,我找到了解决方案,它没有任何文档记录,我检查了源文件Backend\Behaviors\RelationController,之后我提供了以下解决方案 您应该在控制器上实现relationExtendViewWidget,然后可以

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

我尝试了以下方法:model.beforeCreate、formextendedfields,但没有成功


谢谢大家。

经过一整天的搜索,我找到了解决方案,它没有任何文档记录,我检查了源文件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;
    }
}

我认为这应该记录在

的某个地方,不要犹豫,在这里创建一个问题:请求添加丢失的文档。不需要这行:$member=member::findOrFail$this->params[0];父模型作为第三个参数传递给您举例说明的两种方法。请创建一个问题,我一定记得记录这些方法。否则我可以保证我会忘记的。我删除了你提到的第一行,现在我缺少了Walid\Gedc\Controllers\Members::relationExtendViewWidget的参数3,在第345行的/Users/walid/Projects/my project/modules/backend/Behaviors/RelationController.php中调用,这是预期的,因为RelationController中的函数签名是公共函数relationExtendManageWidget$widget,$field