2012-03-28 61 views
0

我想用这样的工作: (我需要拆分用户表)DataMapper的笨关系一对一

=================== 

table users 


id | pseudo | password 
id PK 

=================== 

table users_infos 

user_id | stats | etc etc 
user_id FK (>users>id) 

=================== 

model user 

$has_one = array('users_info) 

model users_info 

$has_one = array('user) 

// 

我的问题在这里来自表users_infos。没有Id字段,我无法使用保存方法进行更新。我尝试将user_id列重写为id,但后来我从DataMapper中删除了外键。解决这个问题的最好方法是什么?

回答

0

您可以尝试使它成为一对多关系,在用户表上创建一个users_info_id字段并使其唯一。

也改变users_infouser_id场只是ID

模型应该是这样的: 模型用户 $ HAS_ONE =阵列( 'users_info')

model users_info 
$has_one = array('user') 

这样,它应该工作。

0

每张表都应该有'id'列,这是必需的。

理想情况下,它被定义为自动增量,它不应该总是有意义的,'id'只是一种唯一标识正确表格行的方法。

您需要两种方式定义关系,所以以前的答案不会奏效。