Ubuntu 9.10 で Symfony 1.3.2 と Propel ORM を使用しています。
他の多くのテーブルがリンクされているユーザー プロファイル テーブルがあります (つまり、user_profile.id は他の多くのテーブルの FK です。
私のデータベーススキーマは次のようになります。
user_profile:
_attributes: { phpName: UserProfile }
id: ~
guard_id: { type: integer, foreignTable: sf_guard_user, foreignReference: id, required: true }
address: { type: longvarchar, required: true }
vehicle_type:
_attributes: { phpName: VehicleType }
id: ~
name: { type: varchar(32), required: true }
user_vehicle:
_attributes: { phpName: UserVehicle }
id: ~
user_id: { type: integer, foreignTable: user_profile, foreignReference: id, required: true }
vehicle_type: { type: integer, foreignTable: vehicle_type, foreignReference: id, required: true }
license_plate: { type: varchar(16), required: true }
user_child:
_attributes: { phpName: UserChild }
id: ~
user_id: { type: integer, foreignTable: user_profile, foreignReference: id, required: true }
gender: { type: boolean, required: true }
name: { type: varchar(32), required: true }
ユーザー プロファイル オブジェクトにリンクする他のオブジェクトをユーザー プロファイル フォームに埋め込みたいので、ユーザー プロファイル フォームで CRUD を実行すると、関連するオブジェクト (UserVehicle、UserJob など) も同時に CRUD になります。ユーザー プロファイル オブジェクトとして)。
次の方法を示す簡単なスニペットが必要です。
- さまざまな関連オブジェクト (つまり、UserVehicle、UserChild) を UserProfile フォームに埋め込みます。
- 操作が実行されているときに、さまざまな関連オブジェクトを作成/更新/削除します (ユーザーは 0-N を超える車両またはそれらに割り当てられた子を持つことができることに注意してください)