我正在使用 Laravel 4 和 PHP 来构建一个新的应用程序。它在我运行 PHP 5.4.x 的开发服务器上运行良好,但是我的老板坚持认为它必须运行 5.3.2 版
我花了一整天的时间来修复所有与 5.3.2 一起工作的东西,并且几乎拥有一切,所以我想,直到我遇到下面的代码问题。
我的问题从这条线开始......
DB::transaction(function($clock_in_webcam_image) use ($clock_in_webcam_image)
我相信这种类型的代码可能不适用于这个版本的 PHP?如果是这种情况,我有什么选择来运行相同的代码或让它执行相同的操作?
对此有任何帮助将不胜感激。非常不幸的是,我的老板直接告诉我不,他不允许我们更新到更新的 PHP,所以我现在陷入困境
// Create a new time card record when a User Clocks In
public function createTimeCard($clock_in_webcam_image) {
// Create both Timecard and timecard record tables in a Transaction
DB::transaction(
function ($clock_in_webcam_image) use ($clock_in_webcam_image) {
$timeCard = DB::table('timeclock_timecard')->insertGetId(
array(
'user_id' => $this->user->user_id,
'clock_in_datetime' => $this->dateTime->format($this->dateFormat),
'clock_in_timestamp' => $this->dateTime->getTimestamp(),
'clock_in_webcam_image' => $clock_in_webcam_image
)
);
$timeCardPunchEntry = DB::table('timeclock_punch_entry')
->insertGetId(
array(
'timecard_id' => $timeCard,
'user_id' => $this->user->user_id,
'created_at_datetime' => $this->dateTime->format($this->dateFormat),
'created_at_timestamp' => $this->dateTime->getTimestamp(),
'clock_type' => 'clock_in',
'webcam_image' => $clock_in_webcam_image
)
);
return $timeCard;
}
);
}
更新
回应bansi的评论……这是你的意思吗……
DB::transaction(function() use($myModel){
$myModel->updateTable1();
$myModel->updateTable2();
})