我有一家公司。那家公司有很多部门。当我想软件删除公司时,部门也应该软删除。现在我这样做:
Company.php
protected static function boot()
{
parent::boot();
static::deleting(function($company) {
foreach($company->department as $department)
{
$department->delete();
}
});
}
但由于某种原因,只有第一个部门正在软件删除,而公司有17个部门。
我做错了什么???我现在正在寻找几个小时仍然没有解决方案!
- 编辑 -
一个部门有很多员工。
protected static function boot()
{
parent::boot();
static::deleting(function($department) {
Employee::where('DepartmentId','=',$department->DepartmentId)->delete();
});
}
答案 0 :(得分:0)
试试这个:
$departmentID[] = Department::where('company_id', '=', $company->id)->select('id')->distinct()->get()->toArray();
Department::where('company_id', '=', $company->id)->delete();
DB::table('users')->whereIn('department_id', $departmentID)->delete();
看,如果有帮助。