Невозможно обновить другие строки таблицы, кроме 1-го созданного - PullRequest
2 голосов
/ 24 июня 2019

У меня есть эта проблема при создании приложения в 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 Ответ

2 голосов
/ 24 июня 2019

Я думаю, вы должны сначала найти его, как это

 $post = Post::find($post->id);
 $post->update($data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...