Buenas antes de nada gracias a este estupendo foro que hace que cada día seamos un poco más sabios.
Bueno al lio explico el problema que tengo.
Estoy haciendo una tienda online y esto la creación de productos.
Dichos productos tienen una relacion N:M con la entidad categoria.
Lo que no encuentro es como poder crear los productos viendo en un campo tipo entity las categorias asociadas que puedo elegir.
Las entidades que tengo son las siguientes.
Entidad categoria:
Código PHP:
<?php
namespace WolfrcProductosBundleEntity;
use WolfrcTiendaBundleUtilUtil;
use DoctrineORMMapping as ORM;
/**
* Categoria
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="Wolfrc\ProductosBundle\Entity\CategoriaRepository")
*/
class Categoria
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\OneToMany(targetEntity="Wolfrc\ProductosBundle\Entity\Categoria", mappedBy="categoriaPadre", cascade="remove")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="nombre", type="string", length=255)
*/
private $nombre;
/**
* @var string
*
* @ORM\Column(name="slug", type="string", length=255)
*/
private $slug;
/**
* @var string
*
* @ORM\Column(name="descripcion", type="string", length=255, nullable=true)
*/
private $descripcion;
/**
*
* @ORM\ManyToOne(targetEntity="Wolfrc\ProductosBundle\Entity\Categoria", inversedBy="id")
* @ORM\JoinColumn(name="categoriaPadre_id", referencedColumnName="id", onDelete="SET NULL")
*/
private $categoriaPadre;
/**
*
* @ORM\ManyToMany(targetEntity="Wolfrc\ProductosBundle\Entity\Productos", inversedBy="categorias")
*/
private $productos;
public function __construct() {
$this->id = new DoctrineCommonCollectionsArrayCollection();
$this->productos = new DoctrineCommonCollectionsArrayCollection();
}
public function __toString() {
return $this->getNombre();
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set nombre
*
* @param string $nombre
* @return Categoria
*/
public function setNombre($nombre)
{
$this->nombre = $nombre;
$this->setSlug(Util::generateSlug($nombre));
return $this;
}
/**
* Get nombre
*
* @return string
*/
public function getNombre()
{
return $this->nombre;
}
/**
* Set slig
*
* @param string $slig
* @return Categoria
*/
public function setSlug($slug)
{
$this->slug = $slug;
return $this;
}
/**
* Get slig
*
* @return string
*/
public function getSlug()
{
return $this->slug;
}
/**
* Set descripcion
*
* @param string $descripcion
* @return Categoria
*/
public function setDescripcion($descripcion)
{
$this->descripcion = $descripcion;
return $this;
}
/**
* Get descripcion
*
* @return string
*/
public function getDescripcion()
{
return $this->descripcion;
}
/**
* Add categoriaPadre
*
* @param \Wolfrc\ProductosBundle\Entity\Categoria $categoriaPadre
* @return Categoria
*/
public function addCategoriaPadre(WolfrcProductosBundleEntityCategoria $categoriaPadre)
{
$this->categoriaPadre[] = $categoriaPadre;
return $this;
}
/**
* Remove categoriaPadre
*
* @param \Wolfrc\ProductosBundle\Entity\Categoria $categoriaPadre
*/
public function removeCategoriaPadre(WolfrcProductosBundleEntityCategoria $categoriaPadre)
{
$this->categoriaPadre->removeElement($categoriaPadre);
}
/**
* Get categoriaPadre
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getCategoriaPadre()
{
return $this->categoriaPadre;
}
/**
* Add productos
*
* @param \Wolfrc\ProductosBundle\Entity\Productos $productos
* @return Categoria
*/
public function addProducto(WolfrcProductosBundleEntityProductos $productos)
{
$this->productos[] = $productos;
return $this;
}
/**
* Remove productos
*
* @param \Wolfrc\ProductosBundle\Entity\Productos $productos
*/
public function removeProducto(WolfrcProductosBundleEntityProductos $productos)
{
$this->productos->removeElement($productos);
}
/**
* Get productos
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getProductos()
{
return $this->productos;
}
/**
* Set categoriaPadre
*
* @param \Wolfrc\ProductosBundle\Entity\Categoria $categoriaPadre
* @return Categoria
*/
public function setCategoriaPadre(WolfrcProductosBundleEntityCategoria $categoriaPadre = null)
{
$this->categoriaPadre = $categoriaPadre;
return $this;
}
}
Gracias a todos los que me puedan hechar una mano.
Si tienen algun lugar donde poder ver estas dudas y me los pueden indicar me harian un gran favor gracias otra vez.