EthicSoft Informatica Laravel Update Senza Toccare Timestamp
Categoria:
Licenza:
I contenuti di questo articolo sono proprietà intellettuale dei relativi autori e protetti ai sensi dell'art. 1 della legge italiana sul diritto d'autore n. 633 del 22 aprile 1941.
La copia, parziale o integrale, è illegale escluso il caso di citazioni di lunghezza massima di un singolo paragrafo e il cui testo sia completamente incluso in un link a questa pagina.

laravel

Usando Laravel può capitare di dover aggiornare le righe di una tabella senza toccare i timestamp, in particolare lasciando inalterato il campo updated_at.

Come fare?
Semplice.. Esiste un flag apposito che, quando impostato, disattiva l’aggiornamento di updated_at.

Esempi…
Poniamo che tu voglia modificare un prodotto salvato nella variabile $product, lasciando però inalterato il suo attributo updated_at, esistono due varianti per farlo:

Se vogliamo che tutti gli update su questo oggetto non modifichino updated_at, è sufficente impostare il flag timestamps sull’oggetto:

$product->timestamps = false;
$product->save();

Se invece vuoi limitare l’effetto al singolo update, devi passare il flag nella chiamata di save():

$product->save(['timestamps' => false]);

 

…..E per aggiornamenti multipli?

In questo l’approccio è quello di accedere alla tabella bypassando la classe del modello (Product, nell’esempio), ovvero invece di:

Product::...->update(...)

Userai:

DB::table('products')->...->update(...)

Tutto qui… Facile no?

Ricordati il “mi piace” 😉

Seguimi
Seguimi

Latest posts by Luca Colombi (see all)

Licenza:
I contenuti di questo articolo sono proprietà intellettuale dei relativi autori e protetti ai sensi dell'art. 1 della legge italiana sul diritto d'autore n. 633 del 22 aprile 1941.
La copia, parziale o integrale, è illegale escluso il caso di citazioni di lunghezza massima di un singolo paragrafo e il cui testo sia completamente incluso in un link a questa pagina.