首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数App\Http\Controllers\MyControllers\GameController::update(),2传递的参数太少,而预期的参数正是3

函数App\Http\Controllers\MyControllers\GameController::update(),2传递的参数太少,而预期的参数正是3
EN

Stack Overflow用户
提问于 2019-04-08 16:52:52
回答 2查看 2.1K关注 0票数 0

当我试图更新我的帖子时,我会发现这个错误。

在形式上,我想一切都是正确的,因为我没有改变任何东西。

这是我的表单方法:

代码语言:javascript
复制
<form method="post" action="{{ route('games.update', $game->id) }}">
@method('PATCH')
@csrf
</form>

这是我的更新方法:

一切都正常,但突然之间开始出现错误。

代码语言:javascript
复制
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');
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-08 18:21:38

应该像这样工作:

代码语言:javascript
复制
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');
}
票数 1
EN

Stack Overflow用户

发布于 2019-04-08 17:01:39

删除第三个形式参数

代码语言:javascript
复制
Game $game

如果在游戏模型上没有路由模型绑定实现

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55578210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档