【发布时间】:2014-08-05 20:04:53
【问题描述】:
我从 Symfony2 和 Doctrine 开始。现在我有了我的第一个操作,包括通过学说运行进行数据库交互,我想为两个实体创建一个 manyToOne 关联。我从在 YAML 中使用 Doctrine 配置文件定义模型开始。
例如(已经包括 manyToOne 关联)
Carsetup\MainBundle\Entity\VehicleWheelCombination:
type: entity
table: vehicle_wheel_combination
indexes:
vehicle_wheel_combinations_rim:
columns:
- rim_id
vehicle_wheel_combinations_spacer:
columns:
- spacer_id
vehicle_wheel_combinations_tyre:
columns:
- tyre_id
vehicle_wheel_combinations_vehicles:
columns:
- vehicle_id
id:
id:
type: integer
nullable: false
unsigned: false
comment: ''
id: true
generator:
strategy: IDENTITY
fields:
streetLegal:
type: boolean
nullable: false
comment: ''
column: street_legal
manyToOne:
rim:
targetEntity: Rim
cascade: { }
mappedBy: null
inversedBy: null
joinColumns:
rim_id:
referencedColumnName: id
orphanRemoval: false
spacer:
targetEntity: Spacer
cascade: { }
mappedBy: null
inversedBy: null
joinColumns:
spacer_id:
referencedColumnName: id
orphanRemoval: false
tyre:
targetEntity: Tyre
cascade: { }
mappedBy: null
inversedBy: null
joinColumns:
tyre_id:
referencedColumnName: id
orphanRemoval: false
vehicle:
targetEntity: Vehicle
cascade: { }
mappedBy: null
inversedBy: null
joinColumns:
vehicle_id:
referencedColumnName: id
orphanRemoval: false
manyToOne:
rating:
targetEntity: Rating
cascade: { }
mappedBy: null
inversedBy: null
orphanRemoval: false
lifecycleCallbacks: { }
基于这些配置,我生成了实体。当我现在重新生成实体时,不会创建关联的 getter 或 setter。使用的命令:
php app/console doctrine:generate:entities Carsetup/MainBundle/Entity/VehicleWheelCombination
是的,我可以直接在实体中创建关联,但我不明白的是:那么配置文件的实际原因是什么?为什么我不首先创建实体?还是我做错了什么?
谢谢!
【问题讨论】:
-
我在发布后才意识到,我实际上已经有 manyToOne 并且我实际上正在寻找 oneToMany。现在生成也起作用了。现在我遇到了不同的错误。不过,这似乎已解决。
-
我修好了。在接下来的 8 小时内无法回答我自己的问题,但在那之后我将发布我的工作 orm.yml。
标签: php symfony doctrine-orm doctrine