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 11 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(); }
  8. Olá a todos! Estou desenvolvendo uma aplicação em Zend2 + Doctrine + Angularjs na qual tenho uma lista de usuários. Em cada usuário posso fazer edições através de um formulário. Nesse formulário há campos os quais precisam fazer as seguintes tarefas : 1-) Campo 1: consultar todos os registros existentes em uma (ou mais) tabela(s). 2-) Botão do campo 1: após escolher algum desses conteúdos, o mesmo salva seu respectivo ID em uma tabela2. 3-) Posso continuar salvando mais registros do campo 1 na tabela2. 4-) O que eu salvei fica disponível para consulta (em um array ou lista, por exemplo). Pensei em criar duas tabelas e duas entidades no Zend. Depois utilizar herança para trabalhar com os campos da tabela2 na primeira entidade. Porém não estou conseguindo fazer isso na prática -> montar as tabelas corretamente, as entidades e lidar com esses dados no Angularjs. Dei uma olhada em mapeamento de tabelas no manual do Doctrine, mas não encontrei nada efetivamente para meu caso e muito menos como trabalhar unto com o Angularjs. Alguém teria uma ideia por onde é o caminho? Algum exemplo? Obrigado.
  9. Marcio Katsumi Marques

    modelagem correta.

    Supondo que eu tenha uma tabela de "alunos" com muitos campos (EX: nome, ra, rg, cpf, telefone, endereco, numero, bairro, cep, pai, mae e etc..) o modo correto seria separar os campos em tabelas mais especificas como 'dados' e 'endereço', ou pode se deixar em uma tabela só? Queria saber se as pesquisas feitas com uma única tabela com muitos campos é mais eficiente do que em tabelas 'desmembradas'. De quebra, se alguem souber como funciona essa mesma questão no Doctrine ou ainda no Hibernate seria bem legal tambem. :D
  10. DarkRoot

    Erro Doctrine Zend Framework 2

    Boa tarde, Estou começando no zf2 e quando instalei o doctrine o arquivo "doctrine-mapping.xsd" ficou com erro erro nas seguintes tags <xs:complexType name="sql-result-set-mapping"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="entity-result" type="orm:entity-result"/> <xs:element name="column-result" type="orm:column-result"/> <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/> </xs:choice> <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"/> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required" /> </xs:complexType> As outras tags que deram erro foram: <xs:complexType name="mapped-superclass" > <xs:complexType name="embeddable"> <xs:complexType name="many-to-one"> <xs:complexType name="one-to-one"> Já procurei em vários lugares mas não achei nenhum erro parecido
  11. Kaio Alves

    Dificuldade com mapeamento usando Doctrine

    Olá galera, recentemente comecei a estudar sobre o framework zend utilizando o mapeamento com doctrine. Estou enfrentando um problema que a dias não consigo resolver. A seguinte mensagem de erro é lançada: Expected value of type "Application\Model\Categoria" for association field "Application\Model\Produto#$id_categoria", got "integer" instead. Meu código é o seguinte: Entidade Categoria: <?php namespace Application\Model; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity */ class Categoria { /** * @ORM\Id * @ORM\GeneratedValue("AUTO") * @ORM\Column(type="integer", name="id_categoria") */ private $id_categoria; /** * @ORM\Column(type="string", name="descricao") */ private $descricao; Métodos Getters e Setters dos atributos(...) Entidade Produto: <?php namespace Application\Model; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity */ class Produto{ /** * @ORM\Id * @ORM\GeneratedValue("AUTO") * @ORM\Column(type="integer", name="id_produto") */ private $id_produto; /** * @ORM\ManyToOne(targetEntity="categoria") * @ORM\JoinColumn(name="id_categoria", referencedColumnName="id_categoria") */ private $id_categoria; /** * @ORM\Column(type="string", name="descricao") */ private $descricao; /** * @ORM\Column(type="decimal", name="preco") */ private $preco; Métodos Getters e Setters dos atributos (...) Além de tudo, já conferi que no meu banco de dados o atributo id_categoria esta como int, tanto na tabela categoria quanto na tabela produto. Conto com a ajuda de todos. Valeu
×

Important Information

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