我在 Ubuntu 9.10 上使用带有 Propel ORM 的 Symfony 1.3.2。
我有一个用户配置文件表,其中有许多其他表链接到它(即 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 辆汽车或分配给他们的儿童