想象三个实体 - 帐户、地址、购买。Account 与 Address 具有 OneToMany 关系。购买与帐户相关,但与地址无关- 但它确实有一个地址文本字段(这是因为地址可以更改,我不希望地址直接相关)。在用户的帐户页面上,他们可以添加地址。登录到站点时,会在会话中存储购买 ID,并在需要时用于检索购买详细信息。
我想要在结帐页面上做的是在 <select> 中显示用户当前拥有的所有地址的列表,允许他们选择一个,并更新当前购买中的地址。$account->getAddresses() 存在并将显示与用户相关的地址。
我已阅读http://symfony.com/doc/current/reference/forms/types/collection.html和http://symfony.com/doc/current/cookbook/form/form_collections.html并且看不到如何将其应用于这种情况,尽管嵌入式表单并不是真正必要的 - 我不想在那个阶段更改购买的其他细节。
所以我的问题是(至少一个):如何将 $account->getAddresses() 的结果传递给表单类型?或者在表单类型中,我应该使用实体字段类型,如果是,我如何让自定义 query_builder 包含表单类型中的当前用户?或者我应该怎么做?