public function toArray() { $data = parent::toArray(); if ($this->categoriapai instanceof AbstractEntity) { $data['categoriapai'] = $this->categoriapai->getId() > 0 ? $this->categoriapai->toArray() : null; } if ($this->url instanceof AbstractEntity) { $data['url'] = $this->url->getId() > 0 ? $this->url->toArray() : null; } return $data; }
public function getCollectionWithCategoria(\TemTudoAqui\Categoria $categoria, \TemTudoAqui\AbstractEntity $entity, $params = [], $fields = [], $type = self::RESULT_ARRAY) { $this->setFilter(function ($alias, $query) use($categoria) { if ($categoria->getId() > 0) { $query->innerJoin("{$alias}.produtos", 'p')->innerJoin("p.categorias", 'c')->andWhere($query->expr()->orX("c.subreferencia LIKE :subreferencial", "c.subreferencia = :subreferencia"))->setParameter('subreferencial', $categoria->getSubreferencia() . ".%")->setParameter('subreferencia', $categoria->getSubreferencia())->groupBy('p.marca'); } return $query; }); $rs = parent::getCollection($entity, $params, $fields, $type); return $rs; }
public function toArray() { $data = parent::toArray(); if ($this->categoriapai instanceof AbstractEntity) { $data['categoriapai'] = $this->categoriapai->getId() >= 0 && $this->categoriapai->getId() !== '' ? $this->categoriapai->getId() === 0 ? (new Categoria(['id' => 0]))->toArray() : $this->categoriapai->toArray() : null; } if ($this->url instanceof AbstractEntity) { $data['url'] = $this->url->getId() > 0 ? $this->url->toArray() : null; } return $data; }
public function getCollectionWithCategoria(\TemTudoAqui\Categoria $categoria, $onlyWithImage = false, \TemTudoAqui\AbstractEntity $entity, $params = [], $fields = [], $type = self::RESULT_ARRAY) { $this->setFilter(function ($alias, $query) use($categoria, $onlyWithImage) { if ($categoria->getId() > 0) { $query->innerJoin("{$alias}.categorias", 'c')->andWhere($query->expr()->orX("c.subreferencia LIKE :subreferencial", "c.subreferencia = :subreferencia"))->setParameter('subreferencial', $categoria->getSubreferencia() . ".%")->setParameter('subreferencia', $categoria->getSubreferencia())->addSelect('c')->innerJoin('c.url', 'uc')->addSelect('uc'); } else { $query->innerJoin("{$alias}.categorias", 'c')->addSelect('c')->innerJoin('c.url', 'uc')->addSelect('uc'); } if ($onlyWithImage) { $query->leftJoin("{$alias}.imagens", 'i')->andWhere("i.sessao = 'produtos'")->orderBy('i.id', "DESC"); } return $query; }); $rs = parent::getCollection($entity, $params, $fields, $type); return $rs; }