Извините за мой плохой английский :(Обновление строки (объект) в виде таблицы, только если изменение обнаружено (автоматически)
Я использую 3 рамки CakePHP и я хочу обновить строку (юридическое лицо) в таблице, только если изменение обнаруженного (автоматически).
Например .:
$id = 1;
// debug($this->request->data)
$this->request->data = ['id' => 1, 'name' => "My Name", 'content' => "My Content"];
// Inside the ArticlesController
$article = $this->Articles->get($id);
// debug($article)
object(Cake\ORM\Entity) {
'id' => (int) 1,
'name' => "My Name",
'content' => "My Content",
'[new]' => false,
'[accessible]' => [
'*' => true
],
'[dirty]' => [],
'[original]' => [],
'[virtual]' => [],
'[errors]' => [],
'[repository]' => 'Articles'
}
Существует нет д ifference между данные запроса и исходные данные так что я должен отклонить запрос на обновление и возвращает предупреждение пользователю "Никаких изменений не обнаружено! ? "
Что я должен сделать
Благодаря
нет, грязный метод не определяет, было ли изменено значение конкретного ключа :( , если вы просто добавили '' '$ article-> name =" My Name "' '' после '' '$ this- > Статьи-> get ($ id); '' 'вы получите' '' '[грязный] '=> [' name '=> true]' '' –
Разве вы этого не хотели? Вы сможете проверить, обновил ли 'patchEntity ваш объект в' ArticlesController'. – Jun
yes '' 'patchEntity''' угадает разницу между ** данными orignal ** и ** данными запроса ** :) –