@akula22

Как передать $id удаляемой категории в beforeDelete?

делаю удаление выбранной категории
public function actionDelete($id)
    {
        $this->findModel($id)->delete();

        return $this->redirect(['index']);
    }

теперь мне надо удалить все записи которые были в этой категории
я так понимаю в модели категорий у меня должен быть beforeDelete
public function beforeDelete()
    {
        if(parent::beforeValidate())
        {

            return true;
        }

        return FALSE;
    }


подскажите что туда прописать надо, как передать $id в beforeDelete.

И потом мне надо удалить все комментарии, которые были в записях с категорией $id!
  • Вопрос задан
  • 169 просмотров
Решения вопроса 1
mhthnz
@mhthnz
PHP, YII2, Golang, Linux
public function beforeDelete()
    {
        if(parent::beforeDelete())
        {
            $this->id; //тут твой айди
            return true;
        }

        return FALSE;
    }

А лучше, как выше написали, в связи указать ON DELETE - CASCADE. MySQL автоматом будет удалять дочерние записи, если таблица на движке InnoDB. Вручную следует удалять, когда помимо записи в бд, нужно удалить еще какие нибудь файлы на сервере.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы