protected function pay_succeed_cloud_time($order_id)
{
$pack_list = $this->cloud->where('order_id', $order_id)->select();
$start_time = time();
$cloud_time=array();
foreach($pack_list as $pack) {
$package = $this->package->where('id', $pack['package_id'])->find();
$start_time = $pack['start_time']==0?$start_time:$pack['start_time'];
$end_time = Time::daysAfter($package['time'], $start_time);
$ret = $this->pay_succeed_cloud_start_time($pack['id'], $start_time, $end_time);
if(!$ret) return false;
}
return true;
}
protected function pay_succeed_cloud_start_time($cloud_id, $start_time, $end_time)
{
$ret = $this->cloud->where(['id' => $cloud_id])
->update([
'start_time'=> $start_time,
'end_time' => $end_time,
]);
if($ret < 1) return false;
return true;
}这里 更新 使用 save更新的时候,循环第二次会出现数据库中start_time这个字段为0,但是输出的时候都是有值的,使用update的时候不会出现这个问题 ,这是bug? 最佳答案