Я хочу реализовать Soft Delete в своем проекте. Не удалось найти надежную рецензию на то же самое. Следующее - единственное, что я получил.
http://www.logicsart.com/cakephp/soft-delete-in-cakephp/
В любом случае, я добавил соответствующие столбцы в свою базу данных и попытался реализовать ее, добавив следующий код в свою модель приложения.
public function exists($id = null) {
if ($this->Behaviors->attached('SoftDelete')) {
return $this->existsAndNotDeleted($id);
} else {
return parent::exists($id);
}
}
public function delete($id = null, $cascade = true) {
$result = parent::delete($id, $cascade);
if ($result === false && $this->Behaviors->enabled('SoftDelete')) {
return $this->field('deleted', array('deleted' => 1));
}
return $result;
}
Далее, в моем bootstrap.php
CakePlugin::loadAll();
И следуя моей модели,
public $actsAs = array('SoftDelete');
Я также включил SoftDeleteBehavior.php
в папку app/Model/Behavour.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я включаю $actsAs в свою модель, страница не отображает никаких данных, и если я ее исключаю, мягкое удаление не будет работать. Если у вас есть более конкретный источник для реализации мягкого удаления, это тоже поможет. Любая помощь будет оценена по достоинству. Спасибо!