当我试图更新我的帖子时,我会发现这个错误。
在形式上,我想一切都是正确的,因为我没有改变任何东西。
这是我的表单方法:
<form method="post" action="{{ route('games.update', $game->id) }}">
@method('PATCH')
@csrf
</form>这是我的更新方法:
一切都正常,但突然之间开始出现错误。
public function update(Request $request, $id, Game $game)
{
if ($game->author !== auth()->user()->id || auth()->user()->cannot('edit games'))
abort(404);
$request->validate([
'title' => 'required',
'type' => 'required',
'city' => 'required',
'district' => 'required',
'comment' => 'required',
'full_comment' => 'required',
'photo' => 'sometimes|mimes:jpeg,jpg,gif,bmp,png',
]);
$game = Game::find($id);
$game->title = $request->get('title');
$game->type = $request->get('type');
$game->city = $request->get('city');
$game->district = $request->get('district');
$game->comment = $request->get('comment');
$game->full_comment = $request->get('full_comment');
if ($request->has('photo')) {
$photoName = $game->id . '_photo' . time() . '.' . request()->photo->getClientOriginalExtension();
$game->photo = $request->get('photo');
$game->photo = $photoName;
$request->photo->storeAs('game-photos', $photoName);
}
$game->save();
return redirect('/games')->with('success', 'Game has been updated');
}发布于 2019-04-08 18:21:38
应该像这样工作:
public function update(Request $request, $id)
{
$request->validate([
'title' => 'required',
'type' => 'required',
'city' => 'required',
'district' => 'required',
'comment' => 'required',
'full_comment' => 'required',
'photo' => 'sometimes|mimes:jpeg,jpg,gif,bmp,png',
]);
$game = Game::find($id);
$game->title = $request->get('title');
$game->type = $request->get('type');
$game->city = $request->get('city');
$game->district = $request->get('district');
$game->comment = $request->get('comment');
$game->full_comment = $request->get('full_comment');
if ($game->author !== auth()->user()->id || auth()->user()->cannot('edit games')) {
abort(404);
}
if ($request->has('photo')) {
$photoName = $game->id . '_photo' . time() . '.' . request()->photo->getClientOriginalExtension();
$game->photo = $request->get('photo');
$game->photo = $photoName;
$request->photo->storeAs('game-photos', $photoName);
}
$game->save();
return redirect('/games')->with('success', 'Game has been updated');
}发布于 2019-04-08 17:01:39
删除第三个形式参数
Game $game如果在游戏模型上没有路由模型绑定实现
https://stackoverflow.com/questions/55578210
复制相似问题