2009-12-18 2 views
0

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

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

ответ

2

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

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

1

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

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

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

Смежные вопросы