From c3f377ddaf4e98c6c02de1daa0e9d2ea9af73b76 Mon Sep 17 00:00:00 2001 From: Philo Hamel Date: Fri, 13 Jan 2023 11:31:52 +0100 Subject: [PATCH] Add primary key when updating persisted entities --- en/orm/validation.rst | 3 +++ fr/orm/validation.rst | 3 +++ ja/orm/validation.rst | 3 +++ 3 files changed, 9 insertions(+) diff --git a/en/orm/validation.rst b/en/orm/validation.rst index 1f96969f47..a3693a0e02 100644 --- a/en/orm/validation.rst +++ b/en/orm/validation.rst @@ -721,6 +721,9 @@ come up when running a CLI script that directly sets properties on entities:: // Add validation rules $rules->add(function($entity) { $data = $entity->extract($this->getSchema()->columns(), true); + if (!$entity->isNew() && !empty($data)) { + $data += $entity->extract((array)$this->getPrimaryKey()); + } $validator = $this->getValidator('default'); $errors = $validator->validate($data, $entity->isNew()); $entity->setErrors($errors); diff --git a/fr/orm/validation.rst b/fr/orm/validation.rst index e5dd3dcb88..bff226fbdf 100644 --- a/fr/orm/validation.rst +++ b/fr/orm/validation.rst @@ -761,6 +761,9 @@ qui définit des propriétés directement dans des entities:: // Ajoute des règles de validation $rules->add(function($entity) { $data = $entity->extract($this->getSchema()->columns(), true); + if (!$entity->isNew() && !empty($data)) { + $data += $entity->extract((array)$this->getPrimaryKey()); + } $validator = $this->getValidator('default'); $errors = $validator->validate($data, $entity->isNew()); $entity->setErrors($errors); diff --git a/ja/orm/validation.rst b/ja/orm/validation.rst index 326f0c0d83..21615783d9 100644 --- a/ja/orm/validation.rst +++ b/ja/orm/validation.rst @@ -705,6 +705,9 @@ CLI スクリプトを走らせる時に起こり得るでしょう。 :: // アプリケーションルールの追加 $rules->add(function($entity) { $data = $entity->extract($this->getSchema()->columns(), true); + if (!$entity->isNew() && !empty($data)) { + $data += $entity->extract((array)$this->getPrimaryKey()); + } $validator = $this->getValidator('default'); $errors = $validator->validate($data, $entity->isNew()); $entity->setErrors($errors);