2017-07-31 138 views
0

我正在创建一个日程表函数,其中我在表中对照当前日期验证日期字段,如果日期过去,那么我想用'3224407'更新第二列, 。字段类型fecha_vigencia是日期。Laravel使用碳验证数据库日期的当前日期

我的日程表功能是:

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']); 
      } 
      } 

} 

现在运行时间表在我的数据库中的记录:运行: image

大部分在fecha_vigencia列中的日期字段是未来“2017-08- 15“, 显示在上面的图片上,当我使用$ fecha_vigencia-> isPast()比较当前日期 - >”2017-07-31“时,电话列上的所有字段都会更新。而应仅更新1日期为2017-07-10的字段。 该功能有什么问题?

在此先感谢

回答

0

您很可能希望这样的事情

$equipo->telefono_contacto = '3224407'; 
$equipo->save(); 

代替

DB::table('equipo')->update(['telefono_contacto' => '3224407']); 

现在你每次$fecha_vigencia->isPast()有效地更新整个表。

+0

你100%是正确的,我没有注意到我正在更新整个表格。 –