Я попытался переопределить метод boot () в laravel 5.6, используя следующий код
class Organization extends Model
{
use SoftDeletes;
/**
* The database table used by the model.
*
* @var string
*/
protected $dates = ['deleted_at'];
protected $table = 'organizations';
//protected $cascadeDeletes = ['organization_members'];
protected $fillable = ['name', 'user_id','logo','description','status'];
protected static function boot ()
{
parent::boot();
Organization::deleting(function (Organization $organization) {
foreach ($organization->organization_members()->get() as $organization_member) {
$organization_member->delete();
}
});
}
public function organization_members()
{
$this->hasMany(OrganizationMembers::class);
}
}
Организация - это родительская модель, а член организации - это дочерняя модель с внешним ключом, который ссылается наидентифицировать в организации. Я пытался удалить члена организации после события delete () в модели организации. Но он не удаляется и никогда не входит в метод загрузки.