Laravel将查询数组更新为字符串转换

时间:2015-11-09 10:01:48

标签: php mysql arrays laravel

我通过自定义工匠命令处理批处理作业

我有一个检查作业队列然后尝试更新作业列表的函数

$batch_check = DB::table('jobs_has_batch_job_queue')
        ->where('jobs_job_id',$this->job_id[0]->job_id)
        ->get();

    if(count($batch_check) < 1)
    {
        var_dump($this->job_id[0]->job_id);die; 
        $this->info('Job Complete');
        DB::table('jobs')
            ->where('jobs_job_id',$this->job_id[0]->job_id)
            ->update(['status' => 'complete']);
    }

$batch_check返回一个空数组

我看到了

        $this->info('Job Complete');

回到终端和

$this->job_id[0]->job_id

返回一个整数,我通过在批处理开始时运行以下来获得此值

        $this->job_id = DB::table('jobs')
            ->where('status','incomplete')
            ->limit(1)
            ->get();

所有文档都说将数组传递给 - &gt;更新

如果有人能够发现我出错的地方,那就太好了。

1 个答案:

答案 0 :(得分:0)

James Kirkby

首先检查

$这 - &GT; JOB_ID [0] - &GT; JOB_ID

如果它给你一个值,那么

给你任何值,然后检查jobid是否存在于数据库中

 $exist = DB::table('jobs')
    ->where('jobs_job_id',$this->job_id[0]->job_id)->first();


dd(exist);