我有一個問題,使用以下CallBackTransformer
:Symfony的變壓器總是得到一個空值
$builder->add(
$builder
->create('codes', 'hidden')
->addModelTransformer(new CallbackTransformer(
function ($codesCollection) {
if (!$codesCollection) {
return "{}"; // This is always returned
}
return implode(",", $codeCollection->toArray());
},
function ($codesString) {
return $codesString;
}
))
)
);
用於其這種形式的實體的codes
屬性是許多一對多的關係,並在我正在測試的情況我已經檢查過該值是否按預期設置。
反向變換回調臨危期望的字符串($codeString
),然而,變換每次回調臨危null
作爲其參數。我希望這是我在撥打getCodes
時得到的ArrayCollection
。
在這種情況下我會做什麼錯?
>要查看不同的結果,您需要在代碼字段中放置一個默認值(如果它尚未來自數據庫)。 不過,我期望它能從數據庫中獲得價值,其中'codes'是一個多對多的關係,我已經確認它實際上保存着數據。因此,我期望將數據(相關實體的ArrayCollection)傳遞給變換回調函數。我錯在期待這種情況嗎? – madshvero
我想你應該向我們展示這個部分,然後,你調用這個表單類型。 – yceruto