Laravel escludere campi da result json

In questo semplice tutorial vediamo come escludere campi da result json con Laravel 5.

Supponiamo in questo esempio di avere una semplice tabella “tags” con relativa classe eloquent “Tag”. L’obbiettivo è generare una risposta json con la lista di tutti i tag presenti nel database.

Di default per fare quello che desideriamo basterebbe usare la seguente sintassi di codice:

$tags = Tag::all();
return $tags->toJson();

Ma se volessimo escludere qualche campo della tabella tags? Ad esempio i campi status, created_at, updated_at? Per questo ci viene incontro la funzionalità “makeHidden” di Laravel 5+ introdotta proprio per questo scopo.

Il codice sopra riportato si trasforma in:

$tags = Tags::all();
return $tags->makeHidden('status')->makeHidden('created_at')->makeHidden('updated_at')->toJson();
//In questo esempio non passo al json i campi status, created_at, updated_at 
//Esempio Risultato: [{"id":1,"name":"Elena"},{"id":2,"name":"Riky"},{"id":3,"name":"Love"}]

Fatto!

Questo articolo ti è stato utile? Condividilo sui tuoi social network preferiti!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.