При обновлении модели Post
я запускаю:
$post->title = request('title');
$post->body = request('body');
$post->save();
Это не обновляет мой пост. Но это должно в соответствии с документами Laravel по обновлению моделей Eloquent. Почему моя модель не обновляется?
- Я не получаю ошибок.
- Пост не обновляется в БД.
- Помимо того, что не обновляется в БД, ничто другое не кажется странным. Нет ошибок Поведение как обычно.
- Результат выполнения этого теста, чтобы увидеть,
true
еслиsave
удалось былоtrue
. - Эта нить Laravel не помогла
Post
модель:
class Post extends Model
{
protected $fillable = [
'type',
'title',
'body',
'user_id',
];
....
}
Post
контроллер:
public function store($id)
{
$post = Post::findOrFail($id);
// Request validation
if ($post->type == 1) {
// Post type has title
$this->validate(request(), [
'title' => 'required|min:15',
'body' => 'required|min:19',
]);
$post->title = request('title');
$post->body = request('body');
} else {
$this->validate(request(), [
'body' => 'required|min:19',
]);
$post->body = request('body');
}
$post->save();
return redirect('/');
}
Информация о бонусе
Запуск dd($post->save())
возвращает true
.
Бег
$post->save();
$fetchedPost = Post::find($post->id);
dd($fetchedPost);
показывает, что $fetchedPost
- это то же сообщение, что и раньше, без обновленных данных.