簡體   English   中英

Symfony2實體選擇問題

[英]Symfony2 entity choice issue

我的Symfony2項目中有一個entity表單字段。

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('productId', 'genemu_jquerychosen_entity', array(
        'class' => 'EMRSabaBundle:Product',
        'property' => 'name'
    ))
    ;
}

Product實體具有一些對象,例如價格,名稱,模式和ID,我想讓用戶按名稱選擇產品並查看所選產品的價格,然后提交產品ID,而不是名稱。

有什么東西嗎?

根據此捆綁包的文檔:

您可以使用Symfony(選擇,國家,...)和主義(ORM和ODM)中的所有核心選擇類型,只需在類型名稱前加上genemu_jqueryselect2_ *

這意味着您正在使用“常規” entity字段。 您可以通過跳過property的定義並依靠EMRSabaBundle:Product__toString()方法來執行EMRSabaBundle:Product

[屬性]

這是用於在HTML元素中將實體顯示為文本的屬性。 如果保留為空白,則實體對象將轉換為字符串,因此必須具有__toString()方法。

將您的代碼更改為:

$builder->add('productId', 'genemu_jquerychosen_entity', array(
        'class' => 'EMRSabaBundle:Product'
    ))

並在EMRSabaBundle:Product對象中定義_toString()方法,如下所示:

public function __toString()
{
    return $this->name . ' (' . $this->price . ')';
}

http://symfony.com/doc/current/reference/forms/types/entity.html#property

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM