在我的模型中,我设置了引导方法,因此当我软删除记录时,相关记录也会被软删除。像这样:
公司.php
protected static function boot()
{
parent::boot();
static::deleting(function($company) {
$company->department()->delete();
});
}
Run Code Online (Sandbox Code Playgroud)
部门.php:
protected static function boot()
{
parent::boot();
static::deleting(function($department) {
dd('test');
});
}
Run Code Online (Sandbox Code Playgroud)
因此,当我想要软删除公司时,部门也应该被软删除。但是当我dd在static::deleting(Department.php)中时,这还没有达到。当我dd喜欢这样的时候:
部门.php
protected static function boot()
{
parent::boot();
dd('test');
static::deleting(function($department) {
});
}
Run Code Online (Sandbox Code Playgroud)
结果是test
我在这里做错了什么?
小智 6
将其添加到您的 Company.php 模型中:
public function departments()
{
return $this->hasMany('App\Department');
}
Run Code Online (Sandbox Code Playgroud)
将其添加到您的 Department.php 模型中:
public function company()
{
return $this->belongsTo('App\Company');
}
Run Code Online (Sandbox Code Playgroud)
更新 Company.php 中的引导方法以供参考
$company->departments()->delete()
Run Code Online (Sandbox Code Playgroud)
然后你应该从 Department.php 文件中取出 boot 方法,因为这是不需要的。
| 归档时间: |
|
| 查看次数: |
13949 次 |
| 最近记录: |