deleted() 观察者方法中的 getDirty() 软删除项,Laravel 5.8
getDirty() Soft Deleted Item in deleted() Observer Method, Laravel 5.8
我想每次删除一个项目时都删除一个图像,所以我尝试使用观察者并将我的代码放在 deleted 方法中,但是我无法删除数据,尽管我使用的是软删除。
我已经在我的观察者中尝试过了,但是失败了。
public function deleted(Board $board)
{
$thisBoard = Board::withTrashed()->getDirty();
$imageName = $thisBoard['image'];
Storage::delete("public/" . $board->getImageFolder() . $imageName);
Storage::delete("public/" . $board->getImageFolder() . "thumbnail/{$imageName}");
}
有什么合适的方法可以获取观察者事件中最后一次软删除的数据吗?
在您的模型中创建删除方法class以覆盖现有的删除方法。这样当你删除 Board 时,你可以同时删除它的图像或图像条目。
public function delete()
{
$this->deleteBoardImages();
return parent::delete();
}
public function deleteBoardImages()
{
Model::where('board_id', $this->id)->delete(); // You write your delete image code here.
}
我想每次删除一个项目时都删除一个图像,所以我尝试使用观察者并将我的代码放在 deleted 方法中,但是我无法删除数据,尽管我使用的是软删除。
我已经在我的观察者中尝试过了,但是失败了。
public function deleted(Board $board)
{
$thisBoard = Board::withTrashed()->getDirty();
$imageName = $thisBoard['image'];
Storage::delete("public/" . $board->getImageFolder() . $imageName);
Storage::delete("public/" . $board->getImageFolder() . "thumbnail/{$imageName}");
}
有什么合适的方法可以获取观察者事件中最后一次软删除的数据吗?
在您的模型中创建删除方法class以覆盖现有的删除方法。这样当你删除 Board 时,你可以同时删除它的图像或图像条目。
public function delete()
{
$this->deleteBoardImages();
return parent::delete();
}
public function deleteBoardImages()
{
Model::where('board_id', $this->id)->delete(); // You write your delete image code here.
}