Поле первичного ключа не получает подтверждения для уникальности в cakephp

Я работаю над фреймворком cakephp, где mysql возвращается. Я разрабатываю форму для ввода сведений о продукте, где product_id должен быть добавлен вручную. Я написал правила проверки для поля product_id. Он работает для других правил проверки, то есть для непустых , numeric.But не работает для уникального правила проверки. Вот мой код проверки в модели:

var $validate= array(product_id=> 'numeric'=> array('rule'=>'numeric', 'on'=>'create', 'message'=>'Please enter only numbers'), 'isUnique' => array('rule' => 'isUnique', message' => 'This product_id already exist'), 'notEmpty'=> array('rule' => 'notEmpty', message' => 'Please enter the product id')), 'product_name' => array('notEmpty'=> array( 'rule' => 'notEmpty', 'message' => 'Please enter the product name'))); 

Я не смог указать местоположение ошибки.

Related of "Поле первичного ключа не получает подтверждения для уникальности в cakephp"

Не должно быть:

 var $validate= array('product_id'=> array('rule'=>'numeric', 'on'=>'create', //etc 

Кроме того, вы пытаетесь проверить поле с именем numeric ?

Кроме того, пока я не знаю, как ваше приложение функционирует, используя product_id похоже, оно должно относиться к другой записи, в таблице products которая будет автоматически обрабатываться с помощью Cake, т.е. в select.

Если вы вводите уникальный код (например, внутренний ссылочный номер), подумайте о том, чтобы переименовать поле на что-то меньшее – Cake-like, чтобы предотвратить возникновение каких-либо проблем или путаницу с другим разработчиком Cake.