laravel - Laravel - 在调用另一个函数的函数中使用请求
问题描述
我还需要在注册后检索查询字符串参数,所以我在两个函数中都使用了 Request $request,但是如何在第二个函数中也传递 Request 呢?
提前致谢!
protected function create(Request $request, array $data) // added "Request $request" for retreive querystring params
{
$user->name = $data['name'];
$user->surname = $data['surname'];
$utm_source = $request->query('utm_source');
$user->save();
}
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all()))); // here I'll need two pass two params...
return $this->registered($request, $user) ?: redirect($this->redirectPath());
}
解决方案
尝试以下操作:
由于您在方法中使用了对$request
参数的提示,create
因此它必须是Request
类的实例。
Request::class
并且$request->all()
是不同的,因此传递$request->all()
将不起作用。
protected function create(Request $request)
{
$user->name = $request->name;
$user->surname = $request->surname;
$utm_source = $request->query('utm_source');
$user->save();
}
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request)));
return $this->registered($request, $user) ?: redirect($this->redirectPath());
}
推荐阅读
- python - 如何在数据框中删除一个空行
- json - 从 json 文件映射时,peewee 模型的正确定义是什么?
- android - 刷新时设置微调器的当前项
- javascript - 筛选
- java - 如何从包含数字和字母的字符串中读取一个 int 数字?
- html - "GET /media/img/image.png HTTP/1.1" 404 2575
- r - 跨多个变量复制分组函数以生成许多新变量
- r - Rmarkdown 不会将蒙特塞拉特字体编织为 PDF
- android - startActivity 在 Android 11 中引发异常
- java - Antlr4 - 获取令牌名称