Jump to content
Sign in to follow this  
gust.php

zend2 com doctrine

Recommended Posts

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?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By edivancastro
      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; } } }  

    • By gust.php
      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();
    • By gust.php
      Prezados, bom dia.   Estou tentando diferenciar o layout de um modulo dos demais, todos os modulos do meu sistema tem um mesmo layout com o mesmo menu, quero que todos fiquem igual ao layout do modulo Application, e o modulo cliente seja diferente. Estou tentando assim:   No modulo Application o arquivos module.config.php esta assim:     'view_manager' => array( 'display_not_found_reason' => true,          'display_exceptions'       => true,          'doctype'                  => 'HTML5',          'not_found_template'       => 'error/404',          'exception_template'       => 'error/index',          'template_map' => array(              'layout/layout'           => __DIR__ . '/../view/layout/layout.phtml',              'application/index/index' => __DIR__ . '/../view/application/index/index.phtml',              'error/404'               => __DIR__ . '/../view/error/404.phtml',              'error/index'             => __DIR__ . '/../view/error/index.phtml', ),          'template_path_stack' => array(             'application' => __DIR__ . '/../view', ), 'strategies' => array( 'ViewJsonStrategy', ), ),     Em todos os outros modulos estou fazendo assim:     'view_manager' => array( 'display_not_found_reason' => true,          'display_exceptions'       => true,          'doctype'                  => 'HTML5',          'not_found_template'       => 'error/404',          'exception_template'       => 'error/index',          'template_map' => array(              'layout/layout'           => __DIR__ . '/../../Application/view/layout/layout.phtml',  ----> Estou usando o layout de Application, esta funcionando.              'cadastro/index/index' => __DIR__ . '/../view/cadastro/index/index.phtml',              'error/404'               => __DIR__ . '/../view/error/404.phtml',              'error/index'             => __DIR__ . '/../view/error/index.phtml',          ),     Quando faço o login, chamo a rota homecli. Beleza, isso funciona. Só que, quando logo com um outro usuário qualquer, ele carrega o layout do cliente, ele não carrega mais o layout do Application, ele sempre carrega o layout do cliente.   Arquivo module.config.php modulo cliente:     'view_manager' => array( 'display_not_found_reason' => true,          'display_exceptions'       => true,          'doctype'                  => 'HTML5',          'not_found_template'       => 'error/404',          'exception_template'       => 'error/index',          'template_map' => array(              'layout/layout'           => __DIR__ . '/../view/layout/layout.phtml',              'cliente/index/index' => __DIR__ . '/../view/cliente/index/index.phtml',              'error/404'               => __DIR__ . '/../view/error/404.phtml',              'error/index'             => __DIR__ . '/../view/error/index.phtml', ),    
    • By gust.php
      Prezados, boa tarde.
       
      Nem sei se posso postar esse tipo de mensagem aqui.
       
      Estou iniciando um projeto com zend2 e mysql, preciso terminar ele dentro de 3 meses.
       
      Alguém aqui que seja do Rio de Janeiro e que tenha experiencia com Zend2 ?
    • By gust.php
      Galera, boa noite.
      Estou tentando enviar os campos e não consigo.
      Já conferi e as variáveis estão preenchidas, no caso os atributos values.
      Quando clico no link, ele abre uma nova página mas não chama a função, não recebo nenhum dado no meu controller.
       
       
      <div class="col-md-12"> <input type="text" name="datai" id="datai" hidden value="<?= $this->inicio; ?>"> <input type="text" name="dataf" id="dataf" hidden value="<?= $this->fim; ?>"> <input type="text" name="file" id="file" hidden value="<?= $this->file; ?>"> <a href="#" class="btn btn-mini btn-success pull-right" target="_blank" id="printPeriodo"><span i class="fa fa-print"></span></a> </div>  
      <script type="text/javascript"> $(function () { $("#printPeriodo").on('click', function () { $.post('<?php echo $this->url('servico', array('action' => 'printMap')); ?>',     {        datai: $("input[name=datai]").val(),        dataf: $("input[name=dataf]").val(),        file: $("input[name=file]").val()      }    );  }); }); </script>
×

Important Information

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