Synfony 3.3 retora null when selecting with Choicetype in Form

0

I'm having a little problem with Synfony 3.3, since I'm creating a form with choicetype, and I pass an array to it. When selecting and submitting, I try to create an object with the data of the form, but in my case it is returning null of the first 2 choiceType.

public function insertarPartidos(Request $request)
{
    $equipos = $this->getDoctrine()
        ->getRepository(Equipo::class)
        ->findAll();

    $nombreEquipos = array();
    foreach ($equipos as &$equipo){
        array_push($nombreEquipos,$equipo->getNomEquipo());
    }

    $partido = new Partido;

    $form = $this->createFormBuilder()
        ->add('idEquipoVisitante', ChoiceType::class, array(
            'choices'=> array(
                'Equipos a seleccionar' => array_flip($nombreEquipos)
            ),
            'label' =>'Equipo visitante'
        ))
        ->add('idEquipoLocal', ChoiceType::class, array(
            'choices'=> array_flip($nombreEquipos),
            'label' =>'Equipo local'
        ))
        ->add('competicion', ChoiceType::class, array(
            'choices' =>array(
                'Champions' => 'Champions',
                'Liga' => 'Liga',
                'Copa del Rey' => 'Copa del Rey'
            ),
            'label' => 'Competicion'
        ))
        ->add('temporada', NumberType::class, array(
            'label' => 'Temporada'
        ))
        ->add('golesVisitantes', NumberType::class, array(
            'label' => 'Goles equipo visitante'
        ))
        ->add('golesLocal', NumberType::class, array(
            'label' => 'Goles equipo local'
        ))
        ->add('save',SubmitType::class, array(
            'label' => 'Crear partido',
            'attr' => array(
                'class' => 'btn btn-primary'
            )
        ))
        ->getForm();

    $form->handleRequest($request);

    if($form->isSubmitted() && $form->isValid()){

        $em = $this->getDoctrine()->getManager();


        $idequipolocal = $form['idEquipoLocal']->getData();
        $idequipovisitante = $form['idEquipoVisitante']->getData();
        $competicion = $form['competicion']->getData();
        $temporada = $form['temporada']->getData();
        $goleslocales = $form['golesLocal']->getData();
        $golesvisitantes = $form['golesVisitantes']->getData();

        //$partido->setEquipoVisitante(1);
        //$partido->setEquipoLocal(3);
        $partido->setIdEquipoLocal($idequipolocal);
        $partido->setIdEquipoVisitante($idequipovisitante);
        $partido->setCompeticion($competicion);
        $partido->setTemporada($temporada);
        $partido->setGolesLocal($goleslocales);
        $partido->setGolesVisitantes($golesvisitantes);

        $em->persist($partido);
        $em->flush();

        $this->addFlash('notice','Partido añadido');

        return $this->redirectToRoute('app_mostrarbotones_listarbotones');
        //return new Response('Saved new product with id '.$partido->getId());
    }

    return $this->render('@App/Consultas/insertar_partidos.html.twig', array(
        'form' =>$form->createView(),
    ));

}

Does anyone know what this is about? I also leave the code of the entity:

class Partido{
/**
 * @var int
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @var int
 *
 * @ORM\Column(name="temporada", type="integer")
 */
private $temporada;

/**
 * @var string
 *
 * @ORM\Column(name="competicion", type="string", length=255)
 */
private $competicion;

/**
 * @var int
 *
 * @ORM\Column(name="goles_local", type="integer")
 */
private $golesLocal;

/**
 * @var int
 *
 * @ORM\Column(name="goles_visitantes", type="integer")
 */
private $golesVisitantes;



/**
 * @var int
 *
 * @ORM\Column(name="equipo_visitante_id", type="integer")
 */
private $idEquipoVisitante;

/**
 * @var int
 *
 * @ORM\Column(name="equipo_local_id", type="integer")
 */
private $idEquipolocal;


/**
 * Get id
 *
 * @return int
 */
public function getId()
{
    return $this->id;
}

/**
 * Set temporada
 *
 * @param integer $temporada
 *
 * @return Partido
 */
public function setTemporada($temporada)
{
    $this->temporada = $temporada;

    return $this;
}

/**
 * Get temporada
 *
 * @return int
 */
public function getTemporada()
{
    return $this->temporada;
}

/**
 * Set competicion
 *
 * @param string $competicion
 *
 * @return Partido
 */
public function setCompeticion($competicion)
{
    $this->competicion = $competicion;

    return $this;
}

/**
 * Get competicion
 *
 * @return string
 */
public function getCompeticion()
{
    return $this->competicion;
}

/**
 * Set golesLocal
 *
 * @param integer $golesLocal
 *
 * @return Partido
 */
public function setGolesLocal($golesLocal)
{
    $this->golesLocal = $golesLocal;

    return $this;
}

/**
 * Get golesLocal
 *
 * @return int
 */
public function getGolesLocal()
{
    return $this->golesLocal;
}

/**
 * Set golesVisitantes
 *
 * @param integer $golesVisitantes
 *
 * @return Partido
 */
public function setGolesVisitantes($golesVisitantes)
{
    $this->golesVisitantes = $golesVisitantes;

    return $this;
}

/**
 * Get golesVisitantes
 *
 * @return int
 */
public function getGolesVisitantes()
{
    return $this->golesVisitantes;
}


/**
 * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Equipo", inversedBy="partidos_visitantes")
 * @ORM\JoinColumn(name="equipo_local_id",referencedColumnName="id")
 */
private $equipoVisitante;

/**
 * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Equipo", inversedBy="partidos_locales")
 * @ORM\JoinColumn(name="equipo_visitante_id", referencedColumnName="id")
 */

private $equipoLocal;

/**
 * Set idEquipoVisitante
 *
 * @param int $idEquipoVisitante
 *
 * @return Partido
 */
public function setIdEquipoVisitante($idEquipoVisitante)
{
    $this->idEquipoVisitante = $idEquipoVisitante;

    return $this;
}

/**
 * Get idEquipoVisitante
 *
 * @return int
 */
public function getIdEquipoVisitante()
{
    return $this->getIdEquipoVisitante();
}


/**
 * Set idEquipoLocal
 *
 * @param int $idEquipoLocal
 *
 * @return Partido
 */
public function setIdEquipoLocal($idEquipoLocal)
{
    $this->idEquipolocal = $idEquipoLocal;

    return $this;
}

/**
 * Get idEquipoLocal
 *
 * @return int
 */
public function getIdEquipoLocal()
{
    return $this->getIdEquipoLocal();
}

/**
 * @return mixed
 */
public function getEquipoVisitante()
{
    return $this->equipoVisitante;
}

/**
 * @param mixed $equipoVisitante
 */
public function setEquipoVisitante($equipoVisitante)
{
    $this->equipoVisitante = $equipoVisitante;
}

/**
 * @return mixed
 */
public function getEquipoLocal()
{
    return $this->equipoLocal;
}

/**
 * @param mixed $equipoLocal
 */
public function setEquipoLocal($equipoLocal)
{
    $this->equipoLocal = $equipoLocal;
}
}
    
asked by Bhupinder Kumar 27.01.2018 в 21:01
source

0 answers