2017-08-04 30 views
1

上Laravel 5 DB工作::交易,但投掷以下错误:DB ::交易掷未定义变量错误异常

exception 'ErrorException' with message 'Undefined variable: tasks'

这里是我的代码:

private function addTasks($tasks, $id) { 
    DB::transaction(function() { 
    DB::table('task')->whereIn('id', $tasks)->update(array('task_parent_id' => $id)); 
    }); 
} 

注:其没有DB::transaction功能正常工作。

我检查了代码的每一行,但没有发现任何错误,请让我知道哪里错了?

+0

向我们展示你的路线! – Maraboc

+0

尝试'dd($任务)'之前,你的查询是有数据 –

+0

它是一个私人功能,所以我认为没有路线 –

回答

3

你应该通过变量$tasks匿名函数:
试试这个

private function addTasks($tasks, $id) { 
     DB::transaction(function() use ($tasks) { 
     DB::table('task')->whereIn('id', $tasks)->update(array('task_parent_id' => $id)); 
     }); 
    } 
3

使用此:

private function addTasks($tasks, $id) { 
    DB::transaction(function() use ($tasks, $id) { 
     DB::table('task')->whereIn('id',$tasks)->update(array('task_parent_id' => $id)); 
    }); 
}