Vook 0 Denunciar post Postado Setembro 17, 2015 Boa noite, pesquisei bastante e alguem poderia me informar como eu hidrato um array contendo vales de ids de outras tabelas para meu entity principal? sendo que o array está assim! array:5 [▼"codigo" => "123""nome" => "123""empresa" => "1""funcao" => "13""salvar" => "Salvar" <?php namespace Corporativo\Form; use Corporativo\Entity\Funcao; use Corporativo\Filter\FuncionarioFilter; use Corporativo\Service\FuncaoService; use DoctrineORMModule\Form\Element\DoctrineEntity; use DoctrineORMModule\Options\EntityManager; use Zend\Di\ServiceLocator; use Zend\Form\Form; use Zend\ServiceManager\ServiceManager; use Zend\Stdlib\Hydrator\ClassMethods; class FuncionarioForm extends Form { /* * @var $entityManger \Doctrine\ORM\EntityManager */ public function __construct(\Doctrine\ORM\EntityManager $entityManager){ parent::__construct('funcionario'); $this->setAttribute('method', 'POST'); $this->setInputFilter(new FuncionarioFilter()); $this->add( array( 'name' => 'codigo', 'type' => 'Text', 'options' => array( 'label' => 'Matrícula', ), 'attributes' => array( 'id' => 'codigo', 'class' => 'form-control' ) ) ); $this->add( array( 'name' => 'nome', 'type' => 'Text', 'options' => array( 'label' => 'Funcionário' ), 'attributes' => array( 'id' => 'nome', 'class' => 'form-control' ) ) ); $this->add( array( 'name' => 'empresa', 'type' => 'DoctrineORMModule\Form\Element\DoctrineEntity', 'options' => array( 'label' => 'Empresa', 'object_manager' => $entityManager, 'target_class' => 'Corporativo\Entity\Empresa', 'property' => 'nome', ), 'attributes' => array( 'id' => 'nome', 'class' => 'form-control' ) ) ); $this->add( array( 'name' => 'funcao', 'type' => 'DoctrineORMModule\Form\Element\DoctrineEntity', 'options' => array( 'label' => 'Funcao', 'object_manager' => $entityManager, 'target_class' => 'Corporativo\Entity\Funcao', 'property' => 'nome', ), 'attributes' => array( 'id' => 'funcao', 'class' => 'form-control', ), ) ); } } <?php namespace Corporativo\Entity; use Doctrine\ORM\Mapping as ORM; use Infra\Entity\InfraEntity; /** * Funcionario * * @ORM\Table(name="funcionario", indexes={@ORM\Index(name="IDX_7510A3CF6EDEF13D", columns={"funcao"})}) * @ORM\Entity * @ORM\Entity(repositoryClass="Corporativo\Entity\FuncionarioRepository") */ class Funcionario extends InfraEntity { /** * @var integer * * @ORM\Column(name="id", type="integer", nullable=false) * @ORM\GeneratedValue(strategy="IDENTITY") * @ORM\Id */ private $id; /** * @var string * * @ORM\Column(name="codigo", type="string", length=10, nullable=false) */ private $codigo; /** * @var string * * @ORM\Column(name="nome", type="string", length=255, nullable=false) */ private $nome; /** * @var \Corporativo\Entity\Funcao * * @ORM\ManyToOne(targetEntity="Corporativo\Entity\Funcao") * @ORM\JoinColumns({ * @ORM\JoinColumn(name="funcao", referencedColumnName="id") * }) */ private $funcao; /** * @var \Corporativo\Entity\Empresa * * @ORM\ManyToOne(targetEntity="Corporativo\Entity\Empresa") * @ORM\JoinColumns({ * @ORM\JoinColumn(name="funcao", referencedColumnName="id") * }) */ private $empresa; /** * Get id * * @return integer */ public function getId() { return $this->id; } /** * Set codigo * * @param string $codigo * * @return Funcionario */ public function setCodigo($codigo) { $this->codigo = $codigo; return $this; } /** * Get codigo * * @return string */ public function getCodigo() { return $this->codigo; } /** * Set nome * * @param string $nome * * @return Funcionario */ public function setNome($nome) { $this->nome = $nome; return $this; } /** * Get nome * * @return string */ public function getNome() { return $this->nome; } /** * Set funcao * * @param \Corporativo\Entity\Funcao $funcao * * @return Funcionario */ public function setFuncao(\Corporativo\Entity\Funcao $funcao = null) { $this->funcao = $funcao; return $this; } /** * Get funcao * * @return \Corporativo\Entity\Funcao */ public function getFuncao() { return $this->funcao; } /** * Set empresa * * @param \Corporativo\Entity\Empresa $empresa * * @return Funcionario */ public function setEmpresa(\Corporativo\Entity\Empresa $empresa = null) { $this->empresa = $empresa; return $this; } /** * Get empresa * * @return \Corporativo\Entity\Empresa */ public function getEmpresa() { return $this->empresa; } } ] Compartilhar este post Link para o post Compartilhar em outros sites