Laravel escludere campi da result json

Problemi nel filtrare alcuni campi non desiderati da un result di JSON? Ecco come fare!

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 la tua opinione

×