Ho trovato this answer sull'argomento, ma non funziona per me.Modifiche di Laravel create_at all'aggiornamento
Quindi, faccio una voce nel database:
// Write lead to database
$lead = Lead::create($lead_data);
E i timestamp simile a questa, che è buono:
| 2016-01-08 10:34:15 | 2016-01-08 10:34:15 |
Ma poi faccio una richiesta a un server esterno, e ho bisogno di aggiornare la riga:
$lead->user_id = $response['user_id'];
$lead->broker_id = $response['broker_id'];
$lead->save();
e il campo created_at viene cambiato:
| 2016-01-08 04:34:17 | 2016-01-08 10:34:17 |
Come posso risolvere questo problema?
EDIT
Ho bisogno di una soluzione che sarebbe solo modificare il comportamento senza eliminazione di colonne o ripristino migrazioni. La correzione deve essere eseguita su un database live senza toccare i dati. Come suggerito di seguito, ho provato la seguente migrazione:
$table->datetime('created_at')->default(DB::raw('CURRENT_TIMESTAMP'))->change();
ma non succede nulla. Il campo created_at viene ancora modificato durante l'aggiornamento.
Come si carica la variabile $ lead prima di eseguire l'aggiornamento? –
La variabile '$ lead' viene riempita con il metodo' create', ma in ogni caso, ho provato anche con '$ lead = Lead :: find ($ lead-> id);' dopo la scrittura, il problema persiste. – Skatch