Laravel将作业链接为数组不工作。尝试分配非对象的属性

Laravel将作业链接为数组不工作。尝试分配非对象的属性,laravel,laravel-5,jobs,Laravel,Laravel 5,Jobs,我正在尝试使用Laravel的withChain在需要一次运行1台的多个服务器上循环。第一个作业完成得很好,但是我在链接作业中传递的数据给了我 尝试分配非对象的属性 当我注销最初调度的数据时,它看起来就像我数组中的构造数据,所以我不确定我做错了什么 $new_jobs_array = []; foreach ($this->wasRequest->nodes->sortByDesc('pivot.node_type') as $node) { if ($node

我正在尝试使用Laravel的withChain在需要一次运行1台的多个服务器上循环。第一个作业完成得很好,但是我在链接作业中传递的数据给了我

尝试分配非对象的属性

当我注销最初调度的数据时,它看起来就像我数组中的构造数据,所以我不确定我做错了什么

$new_jobs_array = [];
foreach ($this->wasRequest->nodes->sortByDesc('pivot.node_type') as $node) {
        if ($node->pivot->node_type != 'WAS_DMGR')
        {
            $snode        = strtolower($node->hostname);
            $shortname    = strtok($snode, '.');
            $fileName     = strtolower($mnemonic).'_'.$shortname.'_'.$reqId.'.json';
            $sourceJsonPath = base_path() . "/json/was/" . $fileName;

            $new_job = 'new BootStrapWasNode('. $node .', '. $this->wasRequest .', '.$sourceJsonPath.')';

            array_push($new_jobs_array, $new_job);
        } else {
            $dmgr_node = $node;
        }
    }
    //Log::info($new_jobs_array);
    $dmgr_node_sname    = strtok($this->wasRequest->nodes->where('pivot.node_type', 'WAS_DMGR')->pluck('hostname')[0], '.');
    $fileName     = strtolower($mnemonic).'_'.$dmgr_node_sname.'_'.$reqId.'.json';
    $sourceJsonPath = base_path() . "/json/was/" . $fileName;

    $this->wasRequest->status = 'Bootstrapping Nodes';
    $this->wasRequest->save();
    //Log::info("DMGR-------------------".$dmgr_node.", ".$this->wasRequest.", ".$sourceJsonPath);
    BootStrapWasNode::withChain($new_jobs_array)->dispatch($dmgr_node, $this->wasRequest, $sourceJsonPath);

如果需要,我可以附加日志视图,但每个节点都有大量数据。问题在于$new\u nodes\u数组,初始调度($dmgr\u node,$this->wasRequest,$sourceJsonPath)完成时没有问题。

能够解决问题。 这句话不正确

$new_job = 'new BootStrapWasNode('. $node .', '. $this->wasRequest .','.$sourceJsonPath.')';
应该是

$new_job = new BootStrapWasNode($node, $this->wasRequest, $sourceJsonPath);