我有订单表。我想在驾驶员收到订单的120分钟后更新舞台字段。
这是我的代码和尝试:
$minuts =120 ;
$orders = Order::where('stage',8)->where('driver_received_time','<',Carbon::now()->addMinutes($minuts))->get();
$i = 0 ;
foreach ($orders as $order)
{
$order->update(['stage'=>9]);
$driver = Driver::find($order->driver_id);
if ($driver->engaged == 1)
{
$driver->engaged = 0;
$driver->save();
}
$i++;
}
Orders Table:
------
orders
------
stage
driver_received_time
只需$orders
为每个$order
计算出分钟数,然后得到:
$orders = Order::where('stage',8)->get();
$i = 0 ;
foreach ($orders as $order)
{
$diff_in_minutes = Carbon::now()->diffInMinutes($order->driver_received_time);
if($diff_in_minutes > 120){
$order->update(['stage'=>9]);
$driver = Driver::find($order->driver_id);
if ($driver->engaged == 1)
{
$driver->engaged = 0;
$driver->save();
}
$i++;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句