忽略多态关系的软删除不起作用
Ignore softdelete for Polymorphic Relations doens't work
我有一个日志 class 与创建、更新和删除的对象具有多态关系。
它可以创建和更新,但不能删除。
当我为删除日志调用它时 returns Model not found
因为它是软删除的。
public function loggable()
{
return $this->morphTo();
}
public function getColorAttribute()
{
return $this->loggable->color;
}
所以我需要忽略这个调用的软删除,但我该怎么做呢?
文档仅显示一对多关系的情况。
另一种方法是编写自己的查询,但我想先问问是否可以这样做。
您可以使用 withTrashed() 加载 soft-deleted 个模型:
public function getColorAttribute()
{
return $this->loggable()->withTrashed()->first()->color;
}
我有一个日志 class 与创建、更新和删除的对象具有多态关系。
它可以创建和更新,但不能删除。
当我为删除日志调用它时 returns Model not found
因为它是软删除的。
public function loggable()
{
return $this->morphTo();
}
public function getColorAttribute()
{
return $this->loggable->color;
}
所以我需要忽略这个调用的软删除,但我该怎么做呢? 文档仅显示一对多关系的情况。
另一种方法是编写自己的查询,但我想先问问是否可以这样做。
您可以使用 withTrashed() 加载 soft-deleted 个模型:
public function getColorAttribute()
{
return $this->loggable()->withTrashed()->first()->color;
}