我有一个具有属性的Candidate
实体$xmlContent
,该属性用于获取对其他实体(国家、公民、...)的一些引用,$xmlContent 值包含这些实体的 ID,如下所示,
<data>
<countryId>2</countryId>
<citizenship>4</citizenship>
<!-- ... -->
</data>
注意:我知道,模型设计得很糟糕!我无法修改它,这是我开始研究它时项目奇怪的限制之一。
Id
因此,我为每个$xmlContent 值创建了 getter 和 setter 。
问题,
我创建了一个表单来编辑候选对象(包括 $xmlContent Id),然后添加了 getter 和 setter 来获取这些值(getCountry()、getCitizenship()、...)
问题是我想让用户Country
从所有可用国家的列表中选择(例如)的值,我还必须将正确的国家作为默认国家。
然后我决定使用实体字段,
->add('country', 'entity', array(
'class' => 'MyBundle:Country',
'query_builder' => function(CountryRepository $er) {
return $er->createQueryBuilder('c')
->orderBy('c.rank', 'ASC');
},
'property' => 'Name'
))
但是,这里我遇到了另一个问题,我用来获取候选 Country 的 getter 返回一个“Id”,但实体字段需要一个对象。
我的问题,
处理这个问题的最佳方法是什么?
我的约束,
我想让我的代码尽可能干净:)