Как в laravel обновить связанную таблицу one-to-one?
Есть две таблицы posts, и posts_description. Каким образом я могу обновить обе таблицы? Получается обновить только первую. Либо удалить запись и второй таблицы, и добавить новую связанную по id строку, но, вероятно, это не правильно, т.к. будет новый id строки после каждого такого. обновления
public function update(Request $request, Post $post)
{
$post->type = $request->type;
$post->image = !empty($request->image) ? $request->image : '';
$post->sort = !empty($request->sort) ? $request->sort : 0;
$post->postdescription->title = $request->title; // Естественно, не работает
$post->save();
/** Здесь нужно как-то обновить значения title и дескрипшн в таблице posts_description **/
return redirect()->back()->withSuccess('Статья была успешно обновлена');
}
Спасибо
Ответы (1 шт):
Автор решения: Anton Mironov
→ Ссылка
Если я правильно понял, то у вас в модели Post существует отноешение postdescription. Тогда можете обновлять так:
$post->postdescription->update($request->only('title', 'description'));
Не забудьте добавить в модель PostDescription protected $fillable = ['title', 'description'];