我正在尝试创建工作来注册用户,并尝试关注 Jeffrey 的视频,但看起来由于某种原因,dispatchfrom 被删除了。这就是我现在正在尝试做的:
这是我的 Controller :
public function PostSignUp(Request $request)
{
dispatch(new RegisterUser($request->all()));
return 'done';
}
这是我的工作:
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class RegisterUser implements ShouldQueue
{
use InteractsWithQueue, Queueable, SerializesModels;
protected $request;
/**
* Create a new job instance.
* @param $request
* @return void
*/
public function __construct($request)
{
$this->request = $request;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$email = $this->request->email;
var_dump('I should register user with email:' . $email);
}
}
我也尝试过
只是$request
而不是$request->all()
但后来我明白了
Serialization of 'Closure' is not allowed
现在我遇到了尝试获取非对象的属性错误。
这是将整个请求传递给作业的好方法吗?我应该用其他方法吗?
最佳答案
尝试使用 input()
$request->input()
关于php - 尝试在 Job Laravel 中获取非对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40829770/