Допустим есть модель Product и связанная с ней модель Image, то есть товар и изображения к нему.
С этими моделями я организовал CRUD. Но когда удаляешь товар, то изображения удаляются только в БД, а физически загруженные изображения не удаляются, хотя в модели Image прописан метод afterDelete() с удалением изображений. То есть получается, что удаление записей происходит только на уровне связей в БД, а чтобы данные связанных моделей удалялись с диска нужно это действие прописывать в коде самостоятельно?
Например, в контроллере ProductController метод actionDelete() должен быть в таком виде:
Код: Выделить всё
public function actionDelete($id)
{
$model = $this->findModel($id);
if($model->images) {
foreach ($model->images as $image) {
$image->delete();
}
}
$model->delete();
return $this->redirect(['index']);
}