問題來源
在專案中,我們經常需要在洗掉一個表中資料的時候,和它相關聯的表也要有相應的操作(洗掉或修改),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();
});
}
}
這樣,我們在洗掉用戶的時候,與之對應的文章也會被洗掉,方便操作了許多,
當然,我認為這個也可以擴展,我們可以在模型中關聯自身對應的資料表,即在做選單管理的時候,洗掉父級,會對應將它的子分類洗掉,而不需要像我之前那篇文章【PHP在無限分類時注意的一些問題(不保證代碼完全正確哦)】一樣,那么麻煩,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/65125.html
標籤:PHP
下一篇:redis實作限速器的幾種方式
