Laravel app-> call()不会将参数传递给Controller

扎克·史密斯(Zach Smith):

我正在使用app()->call()逻辑来调用控制器/方法,更重要的是通过Request类似的方式传递参数

return app()->call('\blah\blah\ControllerName@methodName',['email'=>'[email protected],'name'=>'zach'])

我可以看到Controller和method被命中,但是当我dd($request)dd($request->all())我正在传递/发送的参数未收到时。我在这个app()->call()逻辑中错过了什么,使我错过了我的论点传递?

lagbox:

所述call的应用程序容器的方法是一种用于调用任何可调用或类/方法的组合。它会收集注入所需的所有依赖关系,还将允许您传递用于函数/方法签名的特定参数。在您的情况下,您希望“输入”存在于传递到所调用方法的请求中,而不是方法调用的特定参数。

您可以通过将输入合并到绑定的Request中或克隆Request并将数据合并并显式传递来实现此目的:

request()->merge([
    'email' => '[email protected]',
    'name' => 'test',
]);

app()->call('\blah\blah\ControllerName@methodName');

这将注入绑定的请求,因为它是方法签名的一部分。我们已经将输入合并到此Request中,因此$request您在方法中拥有的将拥有此数据。

您还可以克隆Request并合并数据,并专门传递此Request对象:

$request = clone request();
$request->merge(...);

app()->call('\blah\blah\ControllerName@methodName', ['request' => $request]);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Azure Function 2.0不会将异常传递给App Insights

laravel:传递给App \ Exceptions \ CustomException :: report()的参数1必须是Exception的实例,

将多个参数传递给laravel中的route / controller

下一个JS Custom Server app.render不会将查询传递给组件

Laravel不会将我的域传递给MailGun驱动程序,因此我无法发送邮件

Laravel策略(函数App \ Policy的参数太少)

Laravel Controller-检查传递给控制器内部方法的参数是否为Model

Laravel表单请求未传递给参数

传递给Laravel中的函数的参数太少

将参数传递给laravel的URL :: to()方法

laravel:无法将参数传递给特征

Laravel 5.5 将数据库字段传递给 app.blade.php

是否可以在 Laravel 中将数据传递给 app.js?

Laravel 5:如何将变量从控制器方法传递给app.blade.php?

Laravel。如何在Laravel中将参数传递给redirectTo()函数

Laravel ::类型错误:函数App \ Product :: getTax()的参数太少,已传递0

在 Laravel 8 中找不到类“App\Http\Controllers\Controller”

Laravel中缺少App \ Http \ Controllers \ ProjectCollaboratorsController :: update()的参数3

Laravel Socialite Facebook登录错误:参数app_id是必需的

函数 App\Http\Middleware\Locale::handle() 的参数太少 | Laravel 8

Laravel app :: call('SomeController @ method')无法正常工作

Laravel:将路由参数传递给过滤器参数

如何从Laravel 8中的另一个控制器将参数传递给Controller中的函数

Laravel 9 Gate“函数 App\Providers\AuthServiceProvider::App\Providers\{closure}() 的参数太少...”

Laravel:如何从View / Blade获取数据并传递给Controller

将参数传递给Scala中的App对象

如何将laravel route参数传递给vue

将多个参数传递给 Laravel 资源集合

Laravel 5:将Model参数传递给中间件