2017-07-31 151 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%是正確的,我沒有注意到我正在更新整個表格。 –