我试图创建工作来注册用户,并试图按照Jeffrey的视频,但看起来像dispatchfrom由于某种原因被删除。这就是我想现在要做的:试图在Job Laravel中获取非对象的属性
这是我的控制器:
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
而现在我得到Trying to get property of non-object error.
这是好的方式来传递整个请求的工作?我应该采取其他方式吗?
是的这是做到了!现在,我以请求作为对象 – Michael