主键和外键 - 删除表条目

时间:2016-03-20 15:37:20

标签: php laravel-5.2

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

  

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

     

我的问题是......如何删除投诉中的用户条目   我希望从用户表中删除用户的书籍表(在laravel中   5.2)

提前致谢

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

更多信息:

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