Symfony FormType - Выбрать на ManyToOne невозможно

1

Я пытаюсь создать новый FormType для своего приложения Symfony. У меня есть поле ManyToOne:

    // Grower.php
    /**
     * @ORM\ManyToOne(targetEntity="CategoryGrower", inversedBy="growers")
     * @ORM\JoinColumn(name="category_id", referencedColumnName="id")
     **/
    private $category;

    // CategoryGrower.php
    /**
     * @ORM\OneToMany(targetEntity="Grower", mappedBy="category")
     **/
    private $growers;

    // GrowerType.php
    $builder
        ->add('name', 'text')
        ->add('category', 'entity', array(
            'class' => 'FermierMalin\Bundle\GrowerBundle\Entity\CategoryGrower',
            'choice_label' => 'label',
            'group_by' => 'parent',
        ));

Но выбор в HTML-коде пуст:

<div>                
<label for="fermiermalin_bundle_growerbundle_grower_category" class="required">Category</label>        
<select id="fermiermalin_bundle_growerbundle_grower_category" name="fermiermalin_bundle_growerbundle_grower[category]" required="required">
</select>
</div>

В моей БД у меня есть некоторые данные:

ID, label, parent
1,Fruits,Maraichers
2,Légumes,Maraichers
3,Vin,Boissons
4,Jus,Boissons
  • 2
    Можете ли вы дать весь класс (Grower и CategoryGrower) с геттерами / сеттерами и конструкторами?
  • 0
    @HubertLcorche садовод , CommentGrower
Теги:
forms
doctrine2

1 ответ

1

Я сделал это так

сущность

 /**
 * @ORM\ManyToOne(targetEntity="FamebitBundle\Entity\Price")
 * @ORM\JoinColumn(name="price_id", referencedColumnName="id")
 */
protected $price;

FormType

->add('price', EntityType::class, array(
            'class' => 'FamebitBundle\Entity\Price',
            'property' => 'label',
            'choice_value' => 'id',
        ))

Просмотр Twig

{{ form_row(form.price) }}

Это сработало для меня :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню