无法更新除第一个创建的其他表行

时间:2019-06-24 16:54:48

标签: laravel

在Laravel中创建应用程序时遇到此问题。用户需要能够编辑帖子,但是当单击“编辑”按钮时,它只会更新创建的第一个帖子。无法访问其他帖子。我如何使它更新我按下按钮后的确切位置。这可能是什么问题?

edit.blade.php

<form action="/profile/{{ $post->id }}" enctype="multipart/form-data" method="post">
            @csrf
            @method('PATCH')
...edit form here...

web.php

Route::patch('/profile/{post}', 'PostsController@update')->name('profile.update');

PostsController.php

public function update(Post $post)
    {
        $data = request()->validate([
            'category' => 'required',
            'description' => 'required',
            'price' => 'required',
            'image' => 'image',
        ]);
        $post->update($data);
        return redirect("/profile/".auth()->user()->id);
    }

帖子模型 命名空间应用;

use Illuminate\Database\Eloquent\Model;


class Post extends Model
{
    protected $guarded = [];
    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

1 个答案:

答案 0 :(得分:2)

我想你必须先找到它 像这样

 $post = Post::find($post->id);
 $post->update($data);