3 回答

TA貢獻1831條經驗 獲得超9個贊
如果用戶和角色之間存在許多關系,則可以按以下方式解決您的問題
這是示例代碼User.php
class User extends Authenticatable implements CanResetPassword
{
protected $table = "users";
public function roles(){
return $this->belongsToMany(Role::class,'role_user');
}
}
Role.php
class Role extends Model{
protected $table = "roles";
public function users(){
return $this->belongsToMany(User::class,'role_user');
}
}
在您的控制器上,您可以執行此操作
class AnyTestController extends Controller{
public function test(){
//Suppose your user id is 1 then delete user from pivot table
$user = User::find(1);
$user->roles()->detach();
$user->delete();
}
}

TA貢獻1824條經驗 獲得超5個贊
在刪除數據透視表中的用戶或角色清除寄存器之前,將此模型添加到模型中。
User.php
protected static function boot ()
{
parent::boot();
static::deleting (function ($user) {
$user->roles()->detach();
});
}
Role.php
protected static function boot ()
{
parent::boot();
static::deleting (function ($role) {
$role->users()->detach();
});
}
- 3 回答
- 0 關注
- 137 瀏覽
添加回答
舉報