php - 在laravel 7中将提交表单传递给控制器
问题描述
我有一个提交表单,我想发送到我的 RegisterController 并且我收到此错误“”函数 App\Http\Controllers\Auth\RegisterController::create() 的参数太少,通过了 0 并且预期正好 1“”方法需要一个数组。如何将我的请求转换为数组?
表格:
<form method="POST" action="{{ route('posting') }}">
@csrf....and so on
路线:
Route::get('administration/register', function () {
return view('vregister');
})->name('registration');
Route::post('/insert','Auth\RegisterController@create')->name('posting');
RegisterController.php 的方法
protected function create(array $data)
{
$user= User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
$role=Role::select('id')->where('name','Support')->first(); //??
$user->roles()->attach($role);
return $user;
}
解决方案
您在创建方法中使用了错误的实例。使用表单时,您应该使用Request
类将表单数据实际发送到您的控制器。你拥有它的方式,没有数据被发送到create()
方法,因此错误。create()
将您的方法编辑为:
protected function create(Request $data)
并在顶部导入 Request 类:
use Illuminate\Http\Request;
阅读更多官方文档 。
编辑:
要在保存数据后重定向到特定页面,请将您的 return 语句更改为:
return redirect()->back();
这将使您返回上一页。您还可以在此处添加您希望重定向到的任何路线:
return redirect()->rote('route.name');
推荐阅读
- django - 如何在 ModelBackEnd 中检查 Django 中的非活动用户
- php - 如何将此json转换为数组。我想将我的视图的数据 [x] 显示为表格
- clang-format - 如何使用 clang-format 在 Kdevelop 中设置代码格式?
- next.js - 为什么不应用 JSX CSS?
- node.js - 节点模块是针对节点模块 v 72 编译的。需要 v 64
- splunk - 如何将文本行分成多个事件
- python-3.x - log1pexp 在 Tensorflow 中不可用?
- c# - C#。如果“等待之后”线程很忙,会发生什么?
- c++ - 使用 OIIO 时架构 x86_64 的未定义符号
- shell - 日期命令额外操作数和脚本上的“(”意外