Рекомендуемый метод для обработки редактирования записи с одобрением в CakePHP? - PullRequest
0 голосов
/ 18 декабря 2009

Мне не удалось найти никакой информации о том, как лучше всего обрабатывать записи с одобрения в CakePHP.

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

Ответы [ 2 ]

2 голосов
/ 18 декабря 2009

Вам понадобится где-то хранить эти данные, пока администратор не сможет одобрить их.

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

1 голос
/ 19 декабря 2009

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

Затем в модели, когда исходная запись загружается механизмом дисплея, она показывает это нормально. Но когда действия редактирования или предварительного просмотра пытаются загрузить запись, она проверяет поле «draft_id» и затем загружает другую запись, если она установлена.

Флаг "черновика" используется для сохранения списка, а действия других групп типа "поиск" также позволяют захватить черновики записей. Это также может быть решено с помощью более сложного SQL-запроса, но я не совсем хорош с SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...