Значения сущности Symfony не переданы - PullRequest
0 голосов
/ 24 сентября 2018

Я создал сущность WorkGroup, а также имеет сущность User, которая аннотирована таким образом.

class WorkGroup{

    /**
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;
    /*  
     * @ORM\Column(type="string", length=100)
     * @Assert\NotBlank()
     */
    private $sworkgroup;
     /**
     * @ORM\OneToMany(targetEntity="user", mappedBy="workgroup",cascade={"persist"})
     * @ORM\OrderBy({"name" = "ASC"})
     */
    private $users;

Согласно User сущности:

/**
 * @ORM\ManyToOne(targetEntity="WorkGroup", inversedBy="users")
 * @ORM\JoinColumn(name="sgid", referencedColumnName="id")
 */
private $workgroup;

В пользовательскую форму я вложил WorkGroup форму.

$builder->add('workgroup', new WorkGroupType());

WorkGroupType, в которую вставлено:

$builder->add('sworkgroup', 'choice', array(
    'choices' => array(
    'KSI' => 'KSI',
    '3CIS' => '3CIS',),
    'choices_as_values' => true, 
)); 

Когда форма отправлена, поле sworkgroupNULLУ меня вопрос, как передать значение из формы в sworkgroup.

1 Ответ

0 голосов
/ 24 сентября 2018

То, что вы ищете, это EntityType.Вы должны заменить свою текущую строку $builder->add('workgroup', new WorkGroupType()); в своей пользовательской форме следующим образом:

->add('environments', EntityType::class, [
    'multiple' => false,
    'expanded' => false,
    'class' => WorkGroup::class,
    'choice_label'  => 'sworkgroup'
 ])

, тогда ваше поле выбора будет работать как положено!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...