РЕДАКТИРОВАТЬ
Я изменил свою таблицу так, чтобы мой первичный ключ был id, и все работает правильно.Все еще пытаюсь понять эту проблему.
У меня есть модель ниже, которую я использую для обработки различных значений EAV.Проблема, которую я вижу, заключается в том, что когда я использую $ Model-> save (), он всегда будет пытаться вставить, а не обновлять.Даже если я установлю свойство / значение primaryKey.
Событие при вставке, я заметил, что я получаю этот запрос по запросу ниже в моих журналах.Первичный ключ таблицы - value_id.
SELECT COUNT(*) AS `count` FROM `user_entity_varchars` AS `UserEntityVarchar`
WHERE `UserEntityVarchar`.`id` = '1'
Когда я вывожу отладку структуры модели, вот что я вижу:
[useDbConfig] => default
[useTable] => user_entity_varchars
[displayField] =>
[id] =>
[data] => Array
(
)
[table] => user_entity_varchars
[primaryKey] => id
По некоторым причинам это непризнавая, что первичный ключ установлен в классе модели.
Это модель, которую я использую:
<?php
class UserEntityVarchar extends UserAgentAppModel {
var $name = 'UserEntityVarchar';
var $primaryKey = 'value_id';
var $belongsTo = array(
'UserEntity'=>array(
'foreignKey' => 'entity_id'
));
var $hasOne = array(
'EavAttribute' => array(
'foreignKey' => 'attribute_id'
));
}
?>