Laravel сохранить простую модель как отношения

@media all {
* {
    margin: 0;
    padding: 0;
}

html, body {
    width: 100%;
    height: 100%;
} }
0
задан DolDurma 4 March 2019 в 19:31
поделиться

2 ответа

Если мы посмотрим на API laravel , то увидим, что метод save() в экземпляре ...Eloquent\Model возвращает bool, а не сохраненную модель. Поскольку вы уже назначили новые свойства своему экземпляру, (как правило) нет необходимости снова сохранять его в переменной.

Ваш окончательный код будет выглядеть примерно так:

...
$month->save(); // instead of $month = $month->save();
...
0
ответ дан Thomas Van der Veen 4 March 2019 в 19:31
поделиться

Метод save () объекта Eloquent возвращает логическое значение, указывающее, была ли операция сохранения успешной или нет. Объект обновляется автоматически, поэтому измените

$month = $month->save(); 

на

if (!$month->save())
 //Handle error

То же самое с вашим $lesson объектом.

Для задачи с неопределенной колонкой вы должны определить protected $primaryKey = 'id'; в своих моделях, так как вы не используете соглашение о присвоении имен по умолчанию (имя класса в нижнем регистре + тире + id).

Вам нужно будет указать имена этих первичных ключей в ваших отношениях, опять же из-за соглашений об именах, см. https://laravel.com/api/5.7/Illuminate/Database/Eloquent/Model.html# method_belongsTo

0
ответ дан Adrien 4 March 2019 в 19:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: