Receive values from a ManytoMany table in Doctrine

0

I'm doing a PHP Rest API using doctrine as database manager, one of my tables has a'ManyToMany 'relation, and every time I do the get my'ManyToMany' column returns empty.

As an API base I am using this water-sale code and using the Youtube - Ivan Rodrigues .

The entity that has the'ManytoMany' relationship is         

    /**
     * 
     * @Entity
     * @Table(name="desconto")
     */

    class Desconto extends Entidade{

            /**
         * 
         * @var integer @Id
         *       @Column(name="id", type="integer")
         *       @GeneratedValue(strategy="AUTO")
         */
        private $id;
            /**
         * 
         * @var string @Column(type="string", length=255)
         */
        private $codigo;
            /**
     * @var decimal @Column(type="decimal", precision=5, scale=2)
     */
        private $desconto;
            /**
         * 
         * @var string @Column(type="string", length=255)
         */
        private $motivo;
               /**
         * 
         * @var integer @Column(type="integer")
         */
        private $valido;
        /**
     * @ManyToOne(targetEntity="Empresa")
     * @JoinColumn(name="empresa_id", referencedColumnName="id")
     */
        private $empresa;

        /**
     * Owning Side
     *
     * @ManyToMany(targetEntity="Usuario", inversedBy="Desconto",cascade={"persist"})
     * @JoinTable(name="usuario_desconto",
     *      joinColumns={@JoinColumn(name="desconto_id", referencedColumnName="id")},
     *      inverseJoinColumns={@JoinColumn(name="usuario_id", referencedColumnName="id")}
     *      )
     */
        private $usuario;

        public function __construct($id = 0,$codigo= "" ,$desconto= 0.0,$motivo= "" ,$valido= "" ,$empresa = 0,$usuario = 0){
        $this->id = $id;
        $this->codigo = $codigo;
        $this->desconto = $desconto;
        $this->motivo = $motivo;
        $this->valido = $valido;
        $this->empresa = $empresa;
        $this->usuario = $usuario;

        }

        public static function construct($array){
        $obj = new Desconto();
        $obj->setId( $array['id']);
        $obj->setCodigo( $array['codigo']);
        $obj->setDesconto( $array['desconto']);
        $obj->setMotivo( $array['motivo']);
        $obj->setValido( $array['valido']);
        $obj->setEmpresa( $array['empresa']);
        $obj->setUsuario( $array['usuario']);
        return $obj;

        }

        public function getId(){
        return $this->id;
        }

        public function setId($id){
         $this->id=$id;
        }

        public function getCodigo(){
        return $this->codigo;
        }

        public function setCodigo($codigo){
         $this->codigo=$codigo;
        }

        public function getDesconto(){
        return $this->desconto;
        }

        public function setDesconto($desconto){
         $this->desconto=$desconto;
        }

        public function getMotivo(){
        return $this->motivo;
        }

        public function setMotivo($motivo){
         $this->motivo=$motivo;
        }

        public function getValido(){
        return $this->valido;
        }

        public function setValido($valido){
         $this->valido=$valido;
        }

        public function getEmpresa(){
        return $this->empresa;
        }

        public function setEmpresa($empresa){
         $this->empresa=$empresa;
        }

        public function getUsuario(){
        return $this->usuario;
        }

        public function setUsuario($usuario){
         $this->usuario=$usuario;
        }
        public function equals($object){
        if($object instanceof Desconto){

        if($this->id!=$object->id){
        return false;

        }

        if($this->codigo!=$object->codigo){
        return false;

        }

        if($this->desconto!=$object->desconto){
        return false;

        }

        if($this->motivo!=$object->motivo){
        return false;

        }

        if($this->valido!=$object->valido){
        return false;

        }

        if($this->empresa!=$object->empresa){
        return false;

        }

        if($this->usuario!=$object->usuario){
        return false;

        }

        return true;

        }
        else{
        return false;
        }

        }
        public function toString(){

         return "  [id:" .$this->id. "]  [codigo:" .$this->codigo. "]  [desconto:" .$this->desconto. "]  [motivo:" .$this->motivo. "]  [valido:" .$this->valido. "]  [empresa:" .$this->empresa. "]  [usuario:" .$this->usuario. "]  " ;
        }

        public function toArray(){
            return [
                "id"=>$this->id,
                "codigo"=>$this->codigo,
                "desconto"=>$this->desconto,
                "motivo"=>$this->motivo,
                "valido"=>$this->valido,
                "empresa"=>$this->empresa->getId(),
                "usuario"=>$this->usuario->toArray()

            ];

          }

        }

asked by anonymous 11.04.2018 / 21:19

0 answers