Jump to content

Search the Community

Showing results for tags 'doctrine'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 7 results

  1. edivancastro

    Mapeamento com doctrine ORM

    Pessoal, em anexo segue meu modelo de banco de dados (duas tabelas). Estou utilizando doctrine. Este é um modelo resumido para eu tentar explicar o que estou passando. As minhas classes Banner e Menu extendem de classes diferentes (ClasseX e ClasseY) e estas classes Banner e Menu, como voces podem ver possuem um Link que pode ser para uma categoria, artigo ou linkexterno (http://outrosite.com). Dai surgiu essa necessidade de min criar uma classe Link. Porem na minha opiniao é inviavel eu criar uma tabela no banco de dados para armazenar link, ou seja, a classe link não chega ser uma entidade concreta (tabela), seria apenas coluna no BD e para cada tipo de Link há uma estrategia para gerar o seu respectivo LinkURL, conforme pode ser observado na classe Link. Pensei em fazer class Menu extends Link e class Banner extends Link, porem as classes banner e menu ja extendem de outras classes e como o PHP não aceita herança multipla não tem como. enfim, como faço para mapear a classe Link para este modelo de banco de dados meu? <?php /** * @ORM\Entity */ class Banner extends ClasseX{ /** * @ORM\Id */ private $id; /** * @ORM\Column('type=string') */ private $descricao; private $link; protected setLink(Link $link){ $this->link = $link; } protected getLink(){ return $this->link; } } <?php /** * @ORM\Entity */ class Menu extends ClasseY{ /** * @ORM\Id */ protected $id; /** * @ORM\Column(type="string") */ protected $descricao; protected $link; protected setLink(Link $link){ $this->link = $link; } protected getLink(){ return $this->link; } } <?php class Link{ const TIPO_ARTIGO=1; const TIPO_CATEGORIA=2; const TIPO_LINKEXTERNO=3 protected $tipo_link; protected $categoria; protected $artigo; proctected $linkexterno; public function setLink($link){ if(is_object($link)){ switch(get_class($link)){ case Artigo::class: $this->tipo = self::TIPO_ARTIGO; $this->artigo = $link; break; case Categoria::class: $this->tipo = self::TIPO_CATEGORIA; $this->categoria = $link; break; } }else{ $this->tipo = self::TIPO_LINKEXTERNO; $this->linkexterno = $link; } } public function getLinkUrl(){ switch($this->tipo_link){ case self::TIPO_ARTIGO; return $this->makeUrlToArtigo(); break; case self::TIPO_CATEGORIA; return $this->makeUrlToCategoria(); break; case self::TIPO_LINKEXTERNO; return $this->linkexterno; } } }
  2. gust.php

    Doctrine createQueryBuilder GroupBy

    Bom dia senhores. Estou tentando agrupar uma consulta por data no Doctrine se sucesso .... Alguém pode ajudar? $em = $this->getEntityManager(); $qb = $em->createQueryBuilder(); $qb->select('u'); $qb->from('Servico\Model\Servico', 'u'); $qb->where('u.STATUS IN (:status)'); $qb->setParameter('status', ['2', '3', '4', '6']); if ($cliente) { $qb->andWhere('u.CLIENTE = :cliente'); $qb->setParameter('cliente', $cliente); } if ($fornecedor) { $qb->andWhere('u.FORNECEDOR = :fornecedor'); $qb->setParameter('fornecedor', $fornecedor); } if ($motorista) { $qb->andWhere('u.MOTORISTA = :motorista'); $qb->setParameter('motorista', $motorista); } if ($fileCliente) { $qb->andWhere('u.FILE = :file_cliente'); $qb->setParameter('file_cliente', $fileCliente); } if ($inicio AND $fim) { $qb->andWhere('u.DATA_INICIO BETWEEN :inicio AND :fim'); $qb->setParameter('inicio', $inicio); $qb->setParameter('fim', $fim); } $qb->orderBy('u.DATA_INICIO', 'ASC'); $qb->addOrderBy('u.HORA_INICIO', 'ASC'); //$qb->groupBy('u.DATA_INICIO'); ---> Isso não funciona $query = $qb->getQuery(); return $query->getResult();
  3. gust.php

    zend2 com doctrine

    Prezados, bom dia Estou com um problema serio, precisando da ajuda de vcs. É o seguinte, tenho um tabela grande que esta relacionada com várias outras tabelas, essas tabelas viraram entidades no sistema e faço esse relacionamento com doctrine. No sistema, tenho uma tela com vários filtros, período de data, cliente, numero e motorista, esses são os filtros. Esse filtro funciona assim: Se o usuário fizer uma busca pelo período, é retornado só aquele período, se ele coloco o motorista vem o período com o motorista, o mesmo com o numero e cliente. Ta acontecendo o seguinte. Quando eu faço a primeira busca, o resultado é retornado em segundos, muito rápido, na segunda busca, muito rápido, na terceira muito rápido, depois o sistema começa a ficar tão lento que a tela chega a travar, eu tenho que mudar de tela para o sistema voltar a responder. Alguém já passou por isso? Já andei pesquisando e cheguei a conclusão que o doctrine retorna todos os relacionamentos envolvidos, é muita coisa, por isso que deve estar travando, falta memória. Já tentei usar o parâmetro EXTRA_LAZY nos relacionamentos, mesmo assim não funcionou. Alguém sugere alguma coisa?
  4. gust.php

    PHP OO Duvidas

    Olá galera... Acho que o meu problema é mais relacionado a OO que PHP.... Eu tenho a seguinte estrutura: Motorista, Veiculo e uma terceira tabela MOTORISTA_VEICULO que faz o relacionamento das 2 classes. Acredito que esta seja a maneira correta, pois nem todo motorista tem um carro relacionado. Meu problema esta aqui: Quando quero pegar uma informação do carro pelo motorista eu consigo: $motorista->getVeiculo()->getPlaca(); // OK, tenho a placa do carro Agora, se eu quiser pegar alguma informação do carro pelo motorista não funciona: $veiculo->getMotorista()->getNome(); // Fatal error: Call to undefined method Doctrine\ORM\PersistentCollection::getNome() in Minhas classe: MOTORISTA /** * @ORM\ManyToMany(targetEntity="Veiculo", cascade={"merge"}) * @ORM\JoinTable(name="MOTORISTA_VEICULO", * joinColumns={@ORM\JoinColumn(name="MOTO_IDMOTORISTA", referencedColumnName="IDMOTORISTA")}, * inverseJoinColumns={@ORM\JoinColumn(name="MOTO_IDVEICULO", referencedColumnName="IDCAR", unique=true)} * ) */ private $veiculo; public function __construct() { parent::__construct(); $this->veiculo = new \Doctrine\Common\Collections\ArrayCollection(); } function getVeiculo() { return $this->veiculo; } function setVeiculo($veiculo) { $this->veiculo[] = $veiculo; } VEICULO ** * * @ORM\ManyToMany(targetEntity="Motorista", mappedBy="veiculo") */ private $motorista; function getMotorista() { return $this->motorista; } function setMotorista($motorista) { $this->motorista = $motorista; } public function __construct() { $this->motorista = new \Doctrine\Common\Collections\ArrayCollection(); }
  5. Bruno Henrique da Costa

    Events para Doctrine

    Galera, estou com uma duvida em doctrine, será que alguem poderia me ajudar. Eu tenho 3 campos sendo (data exclusao, data alteração e data inclusão), porém eu tenho q trabalhar de uma forma dinamica com eles para não ficar remontando o código, eu estou usando o metodo eventos do doctrine sendo eles, preRemove, prePersist e preUpdate, sendo que o preRemove eu vou atualizar o campo data exclusão prePersist o campo de cadastro e o preUpdate o campo de alteração. Porem os campos inicio e alteração da entidade está dando certo, so que quando eu vou para o preRemove não está, ele esta duplicando o registro e isso não é o que eu gostaria, alguem poderia me ajudar? Segue abaixo o meu código do evento. <?php namespace User\Event; use Zend\ServiceManager\ServiceManager; use Zend\Authentication\AuthenticationServiceInterface; use User\Entity; class Events { protected static $TEMPO_UPDATE; private $sm; public function __construct(ServiceManager $sm){ $this->sm = $sm; } private function getUsuario(){ $authService = $this->sm->get(AuthenticationServiceInterface::class); if($authService->hasIdentity()){ return $authService->getIdentity(); } } public function preRemove($eventArgs){ $entity = $eventArgs->getEntity(); $em = $eventArgs->getEntityManager(); if (method_exists($entity, 'setDtExc')) { self::$TEMPO_UPDATE = $entity->getDtAlt(); $entity->setDtAlt(-1); $entity->setDtExc(TEMPO); $em->persist($entity); $em->flush($entity); $em->detach($entity); } if (method_exists($entity, 'setUsuario') && !$entity instanceof Entity\Usuario && !$entity instanceof Entity\UsuarioPermissao && !$entity instanceof Entity\Grupo && !$entity instanceof Entity\GrupoPermissao) { $entity->setUsuario($this->getUsuario()); } } public function prePersist($eventArgs) { $entity = $eventArgs->getEntity(); if (method_exists($entity, 'setDtIni')) { $entity->setDtIni(TEMPO); } if (method_exists($entity, 'setUsuario') && !$entity instanceof Entity\Usuario && !$entity instanceof Entity\UsuarioPermissao && !$entity instanceof Entity\Grupo && !$entity instanceof Entity\GrupoPermissao) { $entity->setUsuario($this->getUsuario()); } } public function preUpdate($eventArgs) { $entity = $eventArgs->getEntity(); if (method_exists($entity, 'setDtAlt')) { switch($entity->getDtAlt()){ case -1: $entity->setDtAlt(self::$TEMPO_UPDATE); break; default: $entity->setDtAlt(TEMPO); } } if (method_exists($entity, 'setUsuario') && !$entity instanceof Entity\Usuario && !$entity instanceof Entity\UsuarioPermissao && !$entity instanceof Entity\Grupo && !$entity instanceof Entity\GrupoPermissao) { $entity->setUsuario($this->getUsuario()); } } } ?>
  6. gust.php

    Helper Doctrine __construct

    Prezados, boa tarde! Estou tentando criar uma Helperview onde preciso fazer uma consulta ao DB, estou sando o Zend2 com Doctrine2 e tentando assim namespace Application\View\Helper; use Zend\View\Helper\AbstractHelper; use Doctrine\ORM\EntityManager; class HelperUserOn extends AbstractHelper { /** * * @var \Doctrine\ORM\EntityManager */ private $em; public function __construct(EntityManager $em) { $this->em = $em; } O zend reclama da linha __construct ... Como posso fazer isso aqui sem o metodo getServiceLocator ?
  7. gust.php

    Query dinamica com doctrine

    Senhores, to usando o zend2 com doctrine2 e tentando fazer uma query dinamica para alguns relatórios. Vou gerar um relatório bem simples de clientes com os seguintes filtros: status, tipo e estado Estou tentando assim no doctrine sem sucesso. O que acontece é que ele retorna todos os registros de clientes, ele não filtra mesmo eu setando as variaveis. public function periodo($status = "", $estado = "", $tipo = "") { $em = $this->getEntityManager(); $qb = $em->createQueryBuilder(); $qb->select('u'); $qb->from('Application\Model\Pessoa', 'u'); if($status != ""){ $qb->andWhere('u.ATIVO = :status'); $qb->setParameter('status', $status); } if($estado != ""){ $qb->andWhere('u.UF = :estado'); $qb->setParameter('estado', $estado); } if($tipo != ""){ $qb->andWhere('u.TIPO = :tipo'); $qb->setParameter('tipo', $tipo); } $qb->andWhere('u.GRUPO = C'); $qb->orderBy('u.RAZAO','ASC'); $query = $qb->getQuery(); return $query->getResult(); }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.