问题来源
在项目中,我们经常需要在删除一个表中数据的时候,和它相关联的表也要有相应的操作(删除或修改),Laravel 提供了非常便捷的操作方法
解决方法
现在假设我们在做一个博客系统,那么就会有文章表、用户表,并且这两个表是相关联的,如果我们需要在删除用户的时候,同时删除文章中的对应数据,那么在 Laravel 中:
// User Model
class User extends Eloquent
{
// 与用户表关联的文章表
public function posts()
{
return $this->hasMany('Post');
}
protected static function boot()
{
parent::boot();
// 在删除用户时执行
static::deleting(function($user) {
// 删除与用户关联的文章
$user->posts()->delete();
});
}
}
这样,我们在删除用户的时候,与之对应的文章也会被删除,方便操作了许多。
|
|