Php 未定义的属性:Illumb\Queue\Jobs\BeanstalkdJob::$name

Php 未定义的属性:Illumb\Queue\Jobs\BeanstalkdJob::$name,php,laravel,laravel-4,task-queue,beanstalkd,Php,Laravel,Laravel 4,Task Queue,Beanstalkd,我正在使用beanstalkd和Laravel对一些任务进行排队,但是我在向处理队列的函数发送数据时遇到了问题,下面是我的代码 //Where I call the function $object_st = new stdClass(); $object_st->Person_id = 2 ; //If I do this: echo($object_st->Person_id); , I get 2 Queue::push('My_Queue_Class@My_Que

我正在使用beanstalkdLaravel对一些任务进行排队,但是我在向处理队列的函数发送数据时遇到了问题,下面是我的代码

//Where I call the function 

$object_st = new stdClass(); 
$object_st->Person_id = 2 ;

//If I do this: echo($object_st->Person_id); , I get 2 

Queue::push('My_Queue_Class@My_Queue_Function', $object_st );
处理队列的函数如下

 public function My_Queue_Function( $Data )
{
    $Person_id = $Data->Person_id; //This generate the error 

    //Other code
}
错误显示:

[错误例外]
未定义的属性:illumb\Queue\Jobs\BeanstalkdJob::$Person\u id


4.2中队列的工作方式不同于5;处理队列任务的函数中的第一个参数实际上是队列作业实例,第二个参数是您的数据:

class SendEmail {

    public function fire($job, $data)
    {
        //
    }

}
根据来自的示例

因此,您的代码需要允许第一个参数:

public function My_Queue_Function( $job, $Data )
{
    $Person_id = $Data['Person_id'];

    //Other code
}

我应该一直这样叫它吗
Queue::push('My_Queue')_Class@My_Queue_Function“,$object_st)
@luceos谢谢,当我使用
$Person\u id=$Data['Person\u id']时,它会工作
$Person\u id=$Data->Person\u id你应该考虑更新你的答案,以便将来帮助其他人。