1
我有一个型号的用户:CakePHP的HABTM白水产生错误的数据库记录
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));
结果是很奇怪:
为什么会这样呢?
这很奇怪,你应该做的一件事就是改变foriegn键(* _id)的mysql数据类型为CHAR(32)如果你使用UUID – Dunhamzzz 2013-02-21 15:00:18
我一直使用二进制(36)作为uuid for很长一段时间,它像一个魅力 – 2013-02-21 15:06:24
公平,我只是暗示,因为0000s不是UUID – Dunhamzzz 2013-02-21 15:11:59