0

私はこのようなもので作業しようとしています:(ユーザーテーブルを分割する必要があります)

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

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と、更新に save メソッドを使用できません。user_id列をに書き換えようとしましidたが、 から外部キーを失いましたDataMapper。これを修正する最善の方法は何ですか?

4

2 に答える 2

0

すべてのテーブルには「id」列が必要です。これは必須です。

理想的には、自動インクリメントとして定義され、常に意味を持つ必要はありません。「id」は、正しいテーブル行を一意に識別するための単なる方法です。

関係を両方の方法で定義する必要があるため、前の答えは機能しません。

于 2012-04-25T20:17:40.923 に答える
0

1対多の関係にusers_info_idして、ユーザーテーブルにフィールドを作成し、一意にすることができます。

また、user_idフィールドをusers_infoidのみに変更します

モデルは次のようにする必要があります: model user $has_one = array('users_info')

model users_info
$has_one = array('user')

そうすればうまくいくはずです。

于 2012-03-31T00:52:31.167 に答える