2012-03-28 62 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'只是一種唯一標識正確表格行的方法。

您需要兩種方式定義關係,所以以前的答案不會奏效。