Titolo
Messaggio

Compendio – Laravel
1minuto
ven 18 nov 2022
Tempo di lettura: 2 min.
Questo compendio ha la funzione di contenitore per tutte le note, memo e brevi consigli che mi capiterà di raccogliere durante lo sviluppo dei miei progetti.
L'immagine di copertina non c'entra niente con il contenuto.
- Stampare variabili php nelle stringhe “{$var}”
inline-block
adatta la larghezza dell’elemento al contenuto.foreach(range(min,max) as $i)
permette di effettuare un ciclo senza usare oggetti.- Si può usare
implode()
su una collezione per creare una stringa. optional(espressione)->metodo()
eseguemetodo()
solo se l’espressione non è null.- array_merge può essere sostituito da
$array+['val1','val2']
. - Per estrarre il primo errore di validazione tra gli attributi di un array:
$errors->first('array.*')
. - Solitamente, i dati ottenuti tramite dalle API vengono trasformati prima con
toJson()
e poi concollect()
. - Per aggiornare contemporaneamente più record si può usare
upsert
. Risulta utile soprattutto quando si lavora con i file excel. View::share('key', 'value')
, utilizzato nel metodo boot di AppServiceProvider, permette di condividere variabili con tutte le views dell’applicazione. Se le informazioni provengono dal db, conviene salvarle in cache (cache()->remember(key,ttl,value)
).- Per intercettare LazyLoading anche in produzione, aggiungere al metodo boot dell’ AppServiceProvider la funzione handleLazyLoadingViolationUsing.
- Rule::unique() può essere estesa con where().
- Si può ottenere la query in SQL dal querybuilder usando
->toSql()
o->toRawSql()
(che include i parametri) invece di->get()
.
Se ci sono più query o servono più dettagli si può usareDB::enableQueryLog()
+DB::getQueryLog()/getRawQueryLog()
.