0
私はSymfony3を使用していますが、商品エンティティと税エンティティがあります。エンティティタイプ:: classでchoice_valueを使用すると、エンティティの編集時に正しいオプションが選択されません。
//Product
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Tax")
* @ORM\JoinColumn(nullable=true, onDelete="SET NULL")
*/
private $tax;
これは
->add('tax', EntityType::class, array(
'label' => 'Taxe',
'class' => 'AppBundle\Entity\Tax',
'choice_label' => 'name',
'placeholder' => 'Tax',
'multiple' => false,
'expanded' => false,
'required' => false,
'choice_value' => function ($tax) {
/** @var Tax $tax */
return $tax->getRate();
},
))
問題が編集エンティティ、プレースホルダは、この製品のない権利税を選択しているとき、私はchoice_valueを削除する際に税が可能になるということですでProductTypeです選択された。
がを解決:
をchoice_valueを使用するには、値がユニーク
choice_valueを使用するには、値が一意である必要があります – hous
'getRate() 'から返される値は一意ではありませんか?そうでない場合は、Doctrineアノテーションを使ってエンティティ内で '$ rate'を一意にする必要があるかもしれません。' 'choice_value '=> rate'' 'rate''はTax Entityのプロパティです。それはうまくいくはずです。 –