我有這有一個$xmlContent
屬性Candidate
實體,這個屬性是用來去其他實體(國家,公民,一些參考... ),在$ xmlContent值包含這些實體的ID如下,設計我的實體,這樣我可以用一個實體領域的具體使用情況
<data>
<countryId>2</countryId>
<citizenship>4</citizenship>
<!-- ... -->
</data>
注:我知道,該模型是設計不好!我不能修改它,這是該項目怪異制約因素之一,當我開始做這個工作。
所以,我創建getter和setter爲$ xmlContent值的每個Id
。
問題,
我創建了一個表格編輯候選對象(包括$ xmlContent IDS),我再補充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'
))
但是,在這裏我有一個問題,我使用的是得到一個候選國,吸氣返回「ID」,但實體領域的期待目的。
我的問題,
什麼是處理這個問題的最好方法?
我的約束,
我要保持我的代碼儘可能乾淨:)
您將需要創建一個處理國家和citisenship以及xmlContent中的其他任何內容的FormType。然後使用數據轉換器將xmlContent轉換爲單個字段或從單個字段轉換,即使數據轉換器返回數組。在這個問題上的一些線程和處理實體問題的食譜示例。 – Cerad