Ir para conteúdo
  • ×   Você colou conteúdo com formatação.   Remover formatação

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Conteúdo Similar

    • Por 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; } } }  

    • Por 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();
    • Por 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', ),    
    • Por 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 ?
    • Por 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>
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.