Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /home/hufersil/hufersil.com.br/system/libraries/lumine/lib/Connection/MySQL.php on line 516
HUFERSIL WEBDEVELOPER - having

HUFERSIL.WEBDEVELOPER - Solu√ß√Ķes com qualidade - Hugo Ferreira da Silva

having Sex, 01 de fevereiro de 2008 - as 23h51

public function having( $havingStr = null )

Quando queremos filtrar nossa seleção a partir de métodos internos do SGBD, como count, max, min, avg etc, essas comparações não podem ser utilizadas na cláusula where da consulta. Desta forma, pode-se utilizá-las na cláusula having, em conjunto com a group by. Exemplo:

  1. // novo objeto de pessoa
  2. $pessoa = new Pessoa;
  3. // pedidos
  4. $pedido = new Pedido;
  5.  
  6. // une as classes
  7. $pessoa->alias('p') // muda o alias de pessoa
  8.    join($pedido, 'inner', 'pe');
  9.  
  10. // seleciona todos os dados de pessoa
  11. $pessoa->selectAs();
  12.  
  13. // seleciona quantidade de pedidos que esta pessoa fez
  14. $pessoa->select("count(pe.idpedido) as total_pedido");
  15.  
  16. // seleciona somente os que tem no mínimo 2 pedidos
  17. $pessoa->having(" count(pe.idpedido) >= 2" );
  18.  
  19. // agrupa pelo ID da pessoa
  20. $pessoa->groupBy('p.idpessoa');
  21.  
  22. // efetua a consulta
  23. $pessoa->find();