Php Symfony2实体选择问题
我的Symfony2项目中有一个Php Symfony2实体选择问题,php,forms,symfony,entity,Php,Forms,Symfony,Entity,我的Symfony2项目中有一个实体表单字段 public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('productId', 'genemu_jquerychosen_entity', array( 'class' => 'EMRSabaBundle:Product', 'property' =>
实体
表单字段
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('productId', 'genemu_jquerychosen_entity', array(
'class' => 'EMRSabaBundle:Product',
'property' => 'name'
))
;
}
产品
实体有一些对象,如价格、名称、模式和id
我想让用户按名称选择产品&查看所选产品的价格,然后提交产品ID,而不是名称
是否有soloution?根据此捆绑包的文档: 您可以使用Symfony的所有核心选项类型(选项、国家/地区、, …)和条令(ORM和ODM),您只需在类型名称前面加上前缀 使用genemu_jqueryselect2_* 这意味着您使用的是“常规”
实体
字段。您可以通过跳过属性的定义并依赖\uu toString()
方法来执行所需操作,方法来自emrsaabundle:Product
:
[属性]
这是应用于显示实体的属性
作为HTML元素中的文本。如果留空,则实体对象将为空
强制转换为字符串,因此必须有一个_toString()方法
将代码更改为:
$builder->add('productId', 'genemu_jquerychosen_entity', array(
'class' => 'EMRSabaBundle:Product'
))
并在emrsaabundle:Product
对象中定义\u toString()
方法,如下所示:
public function __toString()
{
return $this->name . ' (' . $this->price . ')';
}
根据此捆绑包的文档:
您可以使用Symfony的所有核心选项类型(选项、国家/地区、,
…)和条令(ORM和ODM),您只需在类型名称前面加上前缀
使用genemu_jqueryselect2_*
这意味着您使用的是“常规”实体
字段。您可以通过跳过属性的定义并依赖\uu toString()
方法来执行所需操作,方法来自emrsaabundle:Product
:
[属性]
这是应用于显示实体的属性
作为HTML元素中的文本。如果留空,则实体对象将为空
强制转换为字符串,因此必须有一个_toString()方法
将代码更改为:
$builder->add('productId', 'genemu_jquerychosen_entity', array(
'class' => 'EMRSabaBundle:Product'
))
并在emrsaabundle:Product
对象中定义\u toString()
方法,如下所示:
public function __toString()
{
return $this->name . ' (' . $this->price . ')';
}