Как сохранить унаследованные атрибуты модели непосредственно из запроса? - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть базовая модель BaseNote и две унаследованные от нее: ReferenceNote и TaskNote.TaskNote имеет дополнительный атрибут start_date.ReferenceNote имеет атрибут 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';
        }
    }

В ReferenceNote и TaskNote моделях у меня $guarded = [].

У меня есть одна таблица notes, которая содержит все столбцы (и ReferenceNote и TaskNote).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...