在項目中,咱們常常須要在刪除一個表中數據的時候,和它相關聯的表也要有相應的操做(刪除或修改),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