Formation PUB030 : Laravel, 2019 Le modèle de données

7.9 Autres champs du modèle


Exclure des champs lors de la sérialisation vers un array ou vers JSON

Dans certaines situations, vous voudrez sérialiser automatiquement des informations provenant de votre modèle. Si vous souhaitez exclure automatiquement certains champs de la sérialisation, vous pouvez utiliser la propriété $hidden.

Ex :

Modèle Laravel (PHP)

/**

 * Attributs à exclure lors de la sérialisation en array ou en JSON pour ce modèle.

 *

 * @var array

 */

protected $hidden = [

    'motdepasse',

    'administrateur',

];

Ainsi, si on sérialise un objet de ce modèle en JSON, les champs motdepasse et administrateurs ne seront pas sérialisés.

Ex :

Contrôleur Laravel (PHP)

$donnees = $usager->toJson();

Si vous préférez lister les champs qui doivent être sérialisés, vous pouvez utiliser la propriété $visible.

Transtypage 

La propriété $casts fera en sorte que lorsque les données sont lues dans la BD, elles seront automatiquement transtypées selon ce qui a été précisé.

Ex :

Modèle Laravel (PHP)

/**

 * Attributs nécessitant une conversion de type automatique.

 *

 * @var array

 */

protected $casts = [

    'champ1' => 'boolean',

    'champ2' => 'array',

];

Pour plus d'information

« Eloquent: Serialization - Hiding Attributes From JSON ». Laravel. https://laravel.com/docs/master/eloquent-serialization#hiding-attributes-from-json

« Eloquent: Mutators - Attribute Casting ». Laravel. https://laravel.com/docs/master/eloquent-mutators#attribute-casting

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre