是否可以從2個連接的實體對象創建表單?Symfony2 + Doctrine2 /從2個連接的實體對象構建表單
我有兩個實體property
& propertylanguage
哪些是加入onetomany關係。 (一家酒店可以有多種語言)
語言有一個title
和description
colomns。 因此,一個屬性可以有英文,法文,德文標題。
我試圖建立一個表格。 見下文。
控制器: addProperty.php
class AddPropertyController extends Controller
{
// ....
public function indexAction(Request $request)
{
$property = new property;
$language = new propertyLanguage;
$property ->addpropertylanguage($language);
$form = $this->createForm(new propertyType($this->getDoctrine()),$property);
// .....
}
表格類型:propertType.php
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('title', 'text');
// other ->add() below.
}
它返回下列錯誤:
Neither property "title" nor method "getTitle()" nor method "isTitle()" exists in class "\defaultBundle\Entity\property"
當然有沒有適當的ty屬性中的標題,但屬性語言中有一個。 即使我嘗試: - > add('title','entity',array('class'=> defaultBundle:propertylanguage)); 它不起作用。
謝謝,如果你有時間來幫助我。
最好,
皮埃爾。
嗨,感謝您的時間和幫助。 其實我更喜歡避免queryBuilder,因爲如果我想從實體對象構建表單,我認爲它不起作用。例如:$ form = $ this-> createForm(new propertyType($ this-> getDoctrine()),$ property); 我會去wz Cerad答案看起來更好的做法。 再次感謝您的時間 – 123pierre
嗨,我自己曾經爲一個項目使用過它,但它確實有效,但Cerad解決方案當然也可以運行!快樂編碼;) – SebScoFr