Maison >développement back-end >tutoriel php >Comment supprimer automatiquement les lignes associées lors de la suppression d'un modèle dans Laravel Eloquent ?
Dans l'ORM Eloquent de Laravel, lors de la suppression d'un enregistrement à l'aide de $user->delete();, vous pouvez souhaitez supprimer automatiquement les lignes associées, telles que $this->photo()->delete(). Ceci peut être réalisé en utilisant l'événement de suppression dans votre classe de modèle.
Pour configurer le gestionnaire d'événements, suivez ces étapes :
namespace App\Models; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { public function photos() { return $this->has_many('Photo'); } // this is a recommended way to declare event handlers protected static function booted() { static::deleting(function(User $user) { // before delete() method calls this $user->photos()->delete(); // perform additional cleanup if necessary }); } }
En définissant le gestionnaire d'événements de suppression, chaque fois qu'un modèle utilisateur est supprimé, les modèles photo associés seront également automatiquement supprimés. Pour garantir l'intégrité référentielle, il est recommandé d'encapsuler le processus de suppression dans une transaction.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!