У меня есть модель пользователя:CakePHP HABTM SaveAll создает неправильные Db записи
public $hasMany = array(
'Contact' => array('dependent' => true));
public $hasAndBelongsToMany = array(
'MySharepermission' => array(
'unigue' => false,
'className' => 'Contact',
'joinTable' => 'sharepermissions_users',
));
и модель контакт
public $belongsTo = array('User');
public $hasAndBelongsToMany = array(
'Sharepermission' => array(
'unigue' => false,
'className' => 'User',
'joinTable' => 'sharepermissions_users',
)
);
Теперь у меня есть массив данных $:
array(
(int) 0 => array(
'Contact' => array(
'id' => '51254509-0654-468b-8007-1683550d8ff8'
),
'Sharepermission' => array(
'id' => '5123a3c3-d5ac-4541-b28b-326c550d8ff8',
'permission' => 'read'
)
),
(int) 1 => array(
'Contact' => array(
'id' => '51254509-0654-468b-8007-1683550d8ff8'
),
'Sharepermission' => array(
'id' => '51252eba-8804-40e7-bf3d-7db9550d8ff8',
'permission' => 'write'
)
)
)
База данных в настоящее время пуста, и теперь я делаю:
debug($this->Contact->saveAll($data));
Результат довольно странным:
Почему это так?
Непонятно, что вам обязательно нужно изменить тип данных mysql для ключей foriegn (* _id) в CHAR (32), если вы используете UUID – Dunhamzzz
Я использовал двоичный код (36) для uuid для долгое время, он работает как шарм –
честный, я просто предлагал, потому что явно 0000 не являются UUID – Dunhamzzz