[英]Symfony2 Saving data of related Entity after submiting form
我開始使用Symfony2進行開發,看起來我需要幫助。 我有與SynchronizationSetting實體相關的Product實體。 我可以通過與他的實體對應的表單來編輯產品數據。 但是我還需要在SynchronizationSetting中修改一些與產品相關的數據。 為此,我修改了表格,使其看起來像這樣(Vendor \\ ProductBundle \\ Form \\ ProductType.php):
...
->add('synchronization_setting', 'choice', array(
'choices' => array('daily' => 'Daily', 'weekly' => 'Weekly', 'never' => 'Never'))
提交表單后,選中的復選框值將傳遞到產品實體中的setSynchronizationSetting方法。 然后,我執行該操作(供應商\\ ProductBundle \\ Entity \\ SynchronizationSetting.php):
public function setSynchronizationSetting($data)
{
$synchronizationSetting = new SynchronizationSetting();
$synchronizationSetting->setDaily(in_array('daily', $data) ? '1' : '0');
...
}
現在,我需要以某種方式將那些SynchronizationSetting實體保存到數據庫中。 我讀到從這里打電話給實體經理是非常不好的做法,所以...我應該如何保存呢?
一種可能的方式(我不確定這是否是一種好習慣)
public function setSynchronizationSetting($data)
{
$synchronizationSetting = new SynchronizationSetting();
$synchronizationSetting->setDaily(in_array('daily', $data) ? '1' : '0');
}
public function retSynchronizationSetting()
{
return $this->synchronizationSetting;
}
然后在處理表單數據的控制器中調用retSynchronizationSetting()並使用EntityManager保存實體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.