Ошибку пишет?
Во-первых:
public function edit($id)
{
$post = Posts::find($id);
$category = DB::table('post_category')->pluck('cat_name', 'id_cat');
return view('admin.posts.editpost', compact('post','category'));
}
Это что за запрос для $category? Да и почему в pluck названия ячеек из 'posts'?
Во-вторых:
public function update(Request $request, $id)
{
$this->validate($request, [
'title' => 'required|max:255',
'short_story' => 'required|unique:posts',
'full_story' => 'required',
'id_cat' => 'required',
'poster' => 'image',
]);
У Вас обновление и стоит unique:posts
Это меня смущает, уберите и попробуйте обновить запись
$post->save();
Можно использовать update()