Código PHP:
namespace FutbolMainBundleEntity;
use DoctrineORMMapping as ORM;
use DoctrineCommonCollectionsArrayCollection;
/**
* Equipos
*
* @ORM\Table(name="equipos", indexes={@ORM\Index(name="id_Cliente", columns={"id_Cliente"})})
* @ORM\Entity
*/
class Equipos
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var \DateTime
*
* @ORM\Column(name="fechaCreacion", type="date", nullable=true)
*/
private $fechacreacion;
/**
* @var string
*
* @ORM\Column(name="nombre", type="string", length=250, nullable=false)
*/
private $nombre;
/**
* @var \Clientes
*
* @ORM\ManyToOne(targetEntity="Clientes")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_Cliente", referencedColumnName="id")
* })
*/
private $idCliente;
/**
* @ORM\OneToMany(targetEntity="Inscripcionequipo", mappedBy="idEquipo", cascade={"persist"} )
*/
private $insEqEquipos;
public function __construct()
{
$this->insEqEquipos = new ArrayCollection();
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set fechacreacion
*
* @param \DateTime $fechacreacion
* @return Equipos
*/
public function setFechacreacion($fechacreacion)
{
$this->fechacreacion = $fechacreacion;
return $this;
}
/**
* Get fechacreacion
*
* @return \DateTime
*/
public function getFechacreacion()
{
return $this->fechacreacion;
}
/**
* Set nombre
*
* @param string $nombre
* @return Equipos
*/
public function setNombre($nombre)
{
$this->nombre = $nombre;
return $this;
}
/**
* Get nombre
*
* @return string
*/
public function getNombre()
{
return $this->nombre;
}
/**
* Set idCliente
*
* @param \Futbol\MainBundle\Entity\Clientes $idCliente
* @return Equipos
*/
public function setIdCliente(FutbolMainBundleEntityClientes $idCliente = null)
{
$this->idCliente = $idCliente;
return $this;
}
/**
* Get idCliente
*
* @return \Futbol\MainBundle\Entity\Clientes
*/
public function getIdCliente()
{
return $this->idCliente;
}
/**
* Add insEqEquipos
*
* @param \Futbol\MainBundle\Entity\Inscripcionequipo $insEqEquipos
* @return Equipos
*/
public function addInsEqEquipo(FutbolMainBundleEntityInscripcionequipo $insEqEquipos)
{
$this->insEqEquipos[] = $insEqEquipos;
return $this;
}
/**
* Remove insEqEquipos
*
* @param \Futbol\MainBundle\Entity\Inscripcionequipo $insEqEquipos
*/
public function removeInsEqEquipo(FutbolMainBundleEntityInscripcionequipo $insEqEquipos)
{
$this->insEqEquipos->removeElement($insEqEquipos);
}
/**
* Get insEqEquipos
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getInsEqEquipos()
{
return $this->insEqEquipos;
}
/**
* Set nombresss
*
* @param string $nombresss
* @return Equipos
*/
public function setNombresss($nombresss)
{
$this->nombresss = $nombresss;
return $this;
}
/**
* Get nombresss
*
* @return string
*/
public function getNombresss()
{
return $this->nombresss;
}
}
FormTypes: Código PHP:
namespace FutbolMainBundleFormType;
use FutbolMainBundleFormTypeInscripcionequipoType;
use SymfonyComponentFormAbstractType;
use SymfonyComponentFormFormBuilderInterface;
use SymfonyComponentOptionsResolverOptionsResolverInterface;
class TorneosType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('nombre')
->add('categoria')
->add('genero')
->add('fechaInicio','date', array(
'widget' => 'single_text',
'format' => 'yyyy-MM-dd',))
->add('fechaFin','date', array(
'widget' => 'single_text',
'format' => 'yyyy-MM-dd',))
->add('insEqTorneos', 'collection', array(
'type' => new InscripcionequipoType(),
'allow_add' => true,
'by_reference' => false,
'allow_delete' => true,
'options' => array(
'attr' => array('class' => 'Consulta2Niveles'),
'label' => false,
)))
->add('save', 'submit');
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Futbol\MainBundle\Entity\Torneos',
'cascade_validation' => true,
));
}
public function getName()
{
return 'torneos';
}
}
Código PHP:
<?php
namespace FutbolMainBundleFormType;
use SymfonyComponentFormAbstractType;
use SymfonyComponentFormFormBuilderInterface;
use SymfonyComponentOptionsResolverOptionsResolverInterface;
class InscripcionequipoType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
// $builder->add('idEquipo', new EquipoType(), array(
// 'label' => false,
$builder->add('X', 'submit', array(
'attr' => array('class' => 'btnBorrar button button-pill button-caution button-tiny ')
))
->add('idEquipo', 'entity', array(
'class' => 'FutbolMainBundle:Equipos',
'property' => 'nombre',
'label' => false,
'empty_value' => '**Selecciona un Equipo**',
));
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Futbol\MainBundle\Entity\Inscripcionequipo',
'cascade_validation' => true,
));
}
public function getName()
{
return 'inscripcionequipo';
}
}
Código PHP:
namespace FutbolMainBundleFormType;
use SymfonyComponentFormAbstractType;
use SymfonyComponentFormFormBuilderInterface;
use SymfonyComponentOptionsResolverOptionsResolverInterface;
class EquipoType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('nombre', null, array(
'label_attr' => array('class' => 'label2Niveles'),
));
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Futbol\MainBundle\Entity\Equipos',
'cascade_validation' => true,
));
}
public function getName()
{
return 'equipo';
}
}
En la parte de la vista donde pinto el formulario tengo la opción con jquery de agregar nuevos equipos a los Torneos y lo que quiero hacer es aplicar un "setJj()" por ejemplo , pero de uno de los nuevos registros agregados por JQuery .
Una solución alternativa que se me ocurrió es mandar el campo como oculto en el formulario y cambiar el valor con JQuery, pero hay algunos campos sensibles en cuanto a seguridad respecta, como el campo “pago” que no me gustaría manejar por el lado del cliente
Saludos y gracias por la atención prestada ^^