我创建了一个日程安排功能,我根据当前日期验证表格中的日期字段,如果日期已过,那么我想用' 3224407'更新第二列。 。字段类型fecha_vigencia是日期。
我的日程安排功能是:
protected function schedule(Schedule $schedule)
{
$schedule->call(function(){
foreach(Equipo::all() as $equipo){
$fecha_vigencia= Carbon::parse($equipo->fecha_vigencia);
if($fecha_vigencia->isPast())
{
DB::table('equipo')->update(['telefono_contacto' => '3224407']);
}
}
}
现在我的数据库记录在运行schedule:run之前: image
fecha_vigencia列中的大多数日期字段都在将来" 2017-08-15", 如上图所示,当我与当前日期进行比较时 - > " 2017年7月31日" ,使用$ fecha_vigencia-> isPast(),更新Telephone列上的所有字段。只应更新1字段,日期为2017-07-10。 这个功能有什么问题?
提前致谢
答案 0 :(得分:0)
你很可能想要这样的东西
$equipo->telefono_contacto = '3224407';
$equipo->save();
而不是
DB::table('equipo')->update(['telefono_contacto' => '3224407']);
现在,您每次$fecha_vigencia->isPast()
都有效地更新整个表格。