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

7.7 Les dates dans les tables


Le modèle prévoit quelques mécanismes pour spécifier le comportement des dates.

Carbon

Connaissez-vous Carbon ? Il s'agit d'un API PHP qui permet de travailler plus facilement avec les dates.

Laravel vous permet d'utiliser Carbon facilement. En particulier, lorsqu'une table contient un champ date ou datetime, il est possible de préciser à Laravel de transformer automatiquement les données lues en instances de Carbon afin d'en faciliter la manipulation.

Ex :

Modèle Laravel (PHP)

/**

 * Champs devant être traités comme des instances Carbon.

 * Pourront être traités comme des objets à l'aide d'instructions du genre $uneInstance->champ1->toDateString();

 *

 * @var array

 */

protected $dates = [

    'champ1',

    'champ2',

    'champ3',

];

Format des dates

Par défaut, les dates sont manipulées sous le format "Y-m-d H:i:s". Il est possible de modifier le format par défaut à l'aide de la propriété $dateFormat.

Ex :

Modèle Laravel (PHP)

/**

 * Format de stockage des champs de type date du modèle.

 * This property determines how date attributes are stored in the database, as well as their format when the model is serialized to an array or JSON.

 *

 * @var string

 */

protected $dateFormat = 'Y-m-d';

Estampillage des dates d'ajout et de modification

Laravel se charge par défaut d'estampiller la date sur les enregistrements qui sont ajoutés ou modifiés. Ces dates sont enregistrées dans les champs created_at et updated_at.

Si vous ne désirez pas utiliser cette fonctionnalités, il est possible de la désactiver :

Modèle Laravel (PHP)

/**

 * Indique si la table contient les champs created_at et updated_at qui seront mis à jour automatiquement.

 *

 * @var boolean

 */

public $timestamps = false;

Pour plus d'information

« Eloquent: Mutators - Date Mutators ». Laravel. https://laravel.com/docs/master/eloquent-mutators#date-mutators

▼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