gpt4 book ai didi

php - 传递给 App\Http\Controllers\ProfileController::store() 的参数 2 必须是 App\Http\Requests\CreateProfileRequest 的一个实例,没有给出

转载 作者:行者123 更新时间:2023-12-02 00:59:46 24 4
gpt4 key购买 nike

几个小时以来,我一直在为这个错误而烦恼,但不明白为什么会这样。我以前在 Laravel 上做过这个,但它似乎不想工作。

这是我尝试开始工作的方法:

public function store($name, CreateProfileRequest $request)
{
$user = User::whereName($name)->first();


$house = new House();
$house->first_line_address = $request->get('first_line_address');
$house->city = $request->get('city');
$house->postcode = $request->get('postcode');

$user->house()->save($house);

return redirect('/');

}

这是我试图从中获取数据的表单:

{!! Form::model($user->house, ['route' => 'profile.store']) !!}

<div class ="form-group">
{!! Form::label('first_line_address', 'First line of address:') !!}
{!! Form::text('first_line_address', null, ['class' => 'form-control'])!!}
</div>

<div class ="form-group">
{!! Form::label('city', 'Town/City:') !!}
{!! Form::text('city', null, ['class' => 'form-control'])!!}
</div>

<div class ="form-group">
{!! Form::label('postcode', 'Postcode:') !!}
{!! Form::text('postcode', null, ['class' => 'form-control'])!!}
</div>

<div class ="form-group">
{!! Form::submit('Update Profile', ['class' => 'btn btn-primary']) !!}
</div>

{!! Form::close() !!}
</div>

这很好,直到我尝试存储它然后我得到

传递给 App\Http\Controllers\ProfileController::store() 的参数 2 必须是 App\Http\Requests\CreateProfileRequest 的一个实例,没有给定

这是我的路线:

$router->resource('profile', 'ProfileController');

|得到|头|简介 |简介.index |应用\Http\Controllers\ProfileController@index | |

| |得到|头|配置文件/创建 |配置文件.create | App\Http\Controllers\ProfileController@create | |

| |发布|简介 |配置文件.store | App\Http\Controllers\ProfileController@store | |

| |得到|头|个人资料/{个人资料} |个人资料.show | App\Http\Controllers\ProfileController@show | |

| |得到|头|个人资料/{个人资料}/编辑 |配置文件.edit | App\Http\Controllers\ProfileController@edit | |

| |放 |个人资料/{个人资料} |配置文件.update |应用\Http\Controllers\ProfileController@update | |

| |补丁|个人资料/{个人资料} | |应用\Http\Controllers\ProfileController@update | |

| |删除 |个人资料/{个人资料} |配置文件.destroy | App\Http\Controllers\ProfileController@destroy | |

如果有人想到如何摆脱这个荒谬的错误,我将永远感激 :)

最佳答案

资源 Controller /路由的store() 方法不接受任何路由参数。这意味着 Laravel 没有任何东西可以作为 $name 参数传递。我想您是在请求数据本身中传递名称。如果是这种情况,您可以使用 $request->input('name') 访问它。

无论如何,您应该从方法签名中删除 $name:

public function store(CreateProfileRequest $request)

关于php - 传递给 App\Http\Controllers\ProfileController::store() 的参数 2 必须是 App\Http\Requests\CreateProfileRequest 的一个实例,没有给出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30018862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com