主键和外键 - 删除表条目

  • 本文关键字:删除 php laravel-5
  • 更新时间 :
  • 英文 :


表:用户(用于存储用户登录和个人信息)主键 - ID

"id"在表投诉和书籍中用作外键。

我的问题是...如何删除投诉中的用户条目和 当我想从用户表中删除用户时,书籍表(在 laravel 中 5.2)

提前致谢

在模型中,您可以利用模型事件来实现所需的目标:

public static function boot() {
    parent::boot();
    static::deleting(function($user) {
        if(!$user->books->isEmpty()) {
            foreach($user->books as $book) {
                $book->delete();
            }
        }
        if(!$user->complaints->isEmpty()) {
            foreach($user->complaints as $complaint) {
                $complaint->delete();
            }
        }
    });
}

https://laravel.com/docs/5.2/eloquent#events

如果您通常要删除相关行,则可以将->onDelete('cascade')添加到外键(在迁移中)。

欲了解更多信息:

https://laravel.com/docs/5.2/migrations#foreign-key-constraints

最新更新