Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
46 lines (34 sloc) 1.86 KB

Comportement base de données

Les comportements de modèle sont utilisé pour implémenter des fonctionnalités couramment utilisées. Contrairement aux Traits, ils peuvent être implémentés directement dans une classe ou par extension de la classe. Vous pouvez en apprendre plus sur les comportements ici.

Purgeable

Les propriétés purgées ne seront pas sauvegardé en base de données lorsque celui-ci sera créé ou mis à jour. Pour purger des propriétés dans un modèle, implémenter le comportement October.Rain.Database.Behaviors.Purgeable et déclarer la propriété $purgeable avec pour valeur un tableau contenant le nom des propriétés à purger.

class User extends Model
{
    public $implement = [
        'October.Rain.Database.Behaviors.Purgeable'
    ];

    /**
     * @var array List of attributes to purge.
     */
    public $purgeable = [];
}

Vous pouvez aussi implémenter un comportement dynamiquement dans une classe.

/**
 * Étends le modèle RainLab.User pour implémenter le comportement purgeable.
 */
RainLab\User\Models\User::extend(function($model) {

    // Implémenter le comportement purgeable dynamiquement
    $model->implement[] = 'October.Rain.Database.Behaviors.Purgeable';
    
    // Déclarer les propriétés purgeable dynamiquement à utiliser par le comportement purgeable
    $model->addDynamicProperty('purgeable', []);
});

Les propriétés déclarées seront purgées lorsque le modèle sera sauvegardé, avant que les évènements de la vue ne soient déclenchés, incluant la validation. Utilisez la méthode getOriginalPurgeValue pour retrouver une propriété qui as été purgée.

return $user->getOriginalPurgeValue($propertyName);