Laravel 模型关联——连带删除

逃离我推掉我的手 2023-02-10 05:08 264阅读 0赞

问题来源
在项目中,我们经常需要在删除一个表中数据的时候,和它相关联的表也要有相应的操作(删除或修改),Laravel 提供了非常便捷的操作方法

解决方法
现在假设我们在做一个博客系统,那么就会有文章表、用户表,并且这两个表是相关联的,如果我们需要在删除用户的时候,同时删除文章中的对应数据,那么在 Laravel 中:

// User Model
class User extends Eloquent
{
// 与用户表关联的文章表
public function posts()
{
return $this->hasMany(‘Post’);
}

  1. protected static function boot()
  2. \{
  3. parent::boot();
  4. // 在删除用户时执行
  5. static::deleting(function($user) \{
  6. // 删除与用户关联的文章
  7. $user->posts()->delete();
  8. \});
  9. \}

}
这样,我们在删除用户的时候,与之对应的文章也会被删除,方便操作了许多。

发表评论

表情:
评论列表 (有 0 条评论,264人围观)

还没有评论,来说两句吧...

相关阅读

    相关 laravel模型$castsl属性

    在laravel框架中,如果希望从数据库中取出的值就是我们希望的类型, 可以使用laravel框架模型中的`$casts`属性值来将需要的字段转换成需要的类型,用法如下:

    相关 laravel框架之模型

    介绍         MVC模式中的Model模型,就是一个快速操作数据库(准确的说是对应的数据表,一个模型对应一个数据表)的方法,可以利用模型加上一些自己想要的操作对数