getDirty () Soft Deleted Item в удаленном () Observer Method, Laravel 5.8 - PullRequest
1 голос
/ 22 октября 2019

Я хочу удалять изображение каждый раз, когда удаляю элемент, поэтому я попытался использовать наблюдатель и поместил свой код в метод удаленных данных, но я не могу получить удаленные данные, хотя использую мягкое удаление.

Я уже пробовал это в своем наблюдателе, но это не удалось.

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}");
}

Есть ли какой-нибудь правильный способ получить последние мягко удаленные данные в событии наблюдателя?

1 Ответ

0 голосов
/ 22 октября 2019

Создайте метод удаления в своем классе модели, чтобы перезаписать существующий метод удаления. Таким образом, когда вы удаляете 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.
}
...