如何直接从请求中保存继承的模型属性?

时间:2018-09-19 13:27:09

标签: laravel eloquent

我有一个基本模型BaseNote,并且有两个继承自它的模型:ReferenceNoteTaskNoteTaskNote有一个附加属性start_dateReferenceNote具有text属性。 根据要求,我有type和创建新笔记的代码:

$noteType = self::getNoteType($request->get('type'));
$note = $noteType::create($request->all());

此代码仅保存BaseNote个属性。 是否可以在不使用两个工厂方法和手动分配属性的情况下使此代码工作? Laravel可以从请求中获取属性并自动将其分配给模型吗?

更新:

 static function getNoteType($type)
    {
        switch ($type) {
            case self::REFERENCE_NOTE:
                return 'App\models\notes\ReferenceNote';
                break;
            case self::TASK_NOTE:
                return 'App\models\notes\TaskNote';
                break;
            default:
                return 'App\models\notes\ReferenceNote';
        }
    }

ReferenceNoteTaskNote模型中,我有$guarded = []

我有一个表notes,其中包含所有列(以及ReferenceNoteTaskNote)。

0 个答案:

没有答案