Ошибка при создании combobox, работающего от doctrine Symfony


вы уже создали combobox, он отображается правильно и содержит правильное value, но при сохранении вы вводите его в 0 в базе данных.

мой код выглядит следующим образом

->add('idBpCustomer', 'entity', array(
'class' => 'chriscrudBundle:BpCrpCustomer',
'property' => 'name',
'query_builder' => function (EntityRepository $er){
    return $er->createQueryBuilder('c')
        ->orderBy('c.name','ASC')
        ;
},))

в entity BpCrpCustomer

public function __toString(){
    return $this->getName();
}

Что мне нужно?

Author: Muriano, 2017-03-18

1 answers

В контроллере я делаю свой запрос и командую представлением, а над представлением я выполняю for, чтобы нарисовать select

Контроллер:

   public function indexAction()
{
    $em = $this->getDoctrine()->getManager();

    $bpCrpCards = $em->getRepository('AppBundle:BpCrpCard');

    $query = $bpCrpCards->createQueryBuilder('c')
    ->select('c.idCard,  p.nombres,p.apellidos')
    ->innerJoin('AppBundle:User', 'p' , 'WITH' , 'p.id = c.idUsuario')
    ->where('c.idUsuario = :idUsuario AND c.status = :status')
    ->setParameter('idUsuario', $this->getUser()->getId())
    ->setParameter('status', 1)
    ->getQuery();
    $bpCrpCards = $query->getResult();

    return $this->render('AppBundle:bpcrpcard:index.html.twig', array(
        'bpCrpCards' => $bpCrpCards,
    ));
}

Вид html. twig

<select class="form-control select" id="bp_card" name="bp_card" required="true" style="width: 100%;">
                    <option disabled="true" value selected>Seleccione...</option>
                    {% for bpCrpCards in bpCrpCards  %}
                        <option value="{{bpCrpCards.idBpToken}}">{{bpCrpCards}}</option>          
                    {%endfor%}
                </select>
 1
Author: Chriz CR, 2017-10-05 18:33:00