在项目中,咱们常常须要在删除一个表中数据的时候,和它相关联的表也要有相应的操做(删除或修改),Laravel
提供了很是便捷的操做方法php
如今假设咱们在作一个博客系统,那么就会有文章表、用户表,而且这两个表是相关联的,若是咱们须要在删除用户的时候,同时删除文章中的对应数据,那么在 Laravel
中:html
// 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(); }); } }
这样,咱们在删除用户的时候,与之对应的文章也会被删除,方便操做了许多。post
固然,我认为这个也能够扩展,咱们能够在模型中关联自身对应的数据表,即在作菜单管理的时候,删除父级,会对应将它的子分类删除,而不须要像我以前那篇文章【PHP在无限分类时注意的一些问题(不保证代码彻底正确哦)】同样,那么麻烦。this