2017-01-10 2 views
-1

Im пытается объяснить мою проблему еще раз на этот раз, используя пример.Дата/отметка времени сбрасываются до теперь() при сохранении?

У меня есть «календари» таблицу со следующими полями:

date_from (TIMESTAMP) 
date_to (TIMESTAMP) 
dt (DATE) 
status (INT) 

Здесь вы видите таблицу с некоторыми записями

-------------------------------------------------------------------------- 
| id | date_from   | date_to    | dt   | status | 
-------------------------------------------------------------------------- 
| 1 | 2017-01-10 00:00:00 | 2017-01-10 00:00:00 | 2017-01-10 | 1  | 
-------------------------------------------------------------------------- 
| 2 | 2017-01-11 00:00:00 | 2017-01-11 00:00:00 | 2017-01-11 | 1  | 
-------------------------------------------------------------------------- 
| 3 | 2017-01-12 00:00:00 | 2017-01-12 00:00:00 | 2017-01-12 | 1  | 
-------------------------------------------------------------------------- 

А вот это то, что им пытаются сделать:

$dates = ['2017-01-10', '2017-01-11', '2017-01-12']; 
foreach($dates as $date){ 
    $d = Calendar::query()->where('dt', $date)->first(); 
    $d->status = 2; //Booked 
    $d->save(); 
} 

При сохранении этих моделей date_from и date_to установлены на текущее время/now(), любое предположение, почему это происходит?

Вот моя миграция файл:

Schema::create('calendars', function(Blueprint $table) { 
    $table->increments('id'); 
    $table->timestamp('date_from'); 
    $table->timestamp('date_to'); 
    $table->date('dt')->nullable(); 
    $table->tinyInteger('status')->default('1'); 
    $table->timestamps(); 
}); 

А вот моя модель:

class Calendar extends Model { 
    protected $fillable = [ 
     'date_from', 
     'date_to', 
     'status' 
    ]; 

    protected $table = 'calendars'; 
    public $timestamps = true; 

    protected $dates = ['date_from', 'date_to', 'dt']; 
} 

Заранее спасибо за глядя на это.

+0

Вы бы пояснили на примере? –

+0

@BunkerBoy взгляните на мой вопрос. –

ответ

0
Check in the database for that field you didn't set default CURRENT_TIMESTAMP. 
+0

Каким-то образом миграция создала поле с date_from timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP –

Смежные вопросы