$criteria = new TCriteria(); $criteria->add(new TFilter('telefone', 'IS NOT', NULL)); $criteria->add(new TFilter('sexo', '=', 'F')); echo $criteria->dump(); echo " <br>\n"; // aqui vemos o uso dos operadores de comparação IN e NOT IN juntamente com // conjuntos de strings. Neste caso, a UF deve estar entre (RS, SC e PR) E // não deve estar entre (AC e PI). $criteria = new TCriteria(); $criteria->add(new TFilter('UF', 'IN', array('RS', 'SC', 'PR'))); $criteria->add(new TFilter('UF', 'NOT IN', array('AC', 'PI'))); echo $criteria->dump(); echo " <br>\n"; // neste caso temos o uso de um critério composto // o primeiro critério aponta para sexo='F' // (sexo feminino) e idade > 18 (maior de idade) $criteria1 = new TCriteria(); $criteria1->add(new TFilter('sexo', '= ', 'F')); $criteria1->add(new TFilter('idade', '>', '18')); // o segundo critério aponta para sexo=M (masculino) // e idade < 16 (menor de idade) $criteria2 = new TCriteria(); $criteria2->add(new TFilter('sexo', '= ', 'M')); $criteria2->add(new TFilter('idade', '<', '16')); // agora juntamos os dois critérios utilizando o operador lógico OR (ou). O resultado // deve conter "mulheres maiores de 18" OU "homens menores de 16" $criteria = new TCriteria(); $criteria->add($criteria1, TExpression::OR_OPERATOR); $criteria->add($criteria2, TExpression::OR_OPERATOR); echo $criteria->dump(); echo " <br>\n";
public function __construct() { parent::__construct(); try { /** * Creates a criteria where the age is * less than 16 OR the age is greater than 60 */ $criteria = new TCriteria(); $criteria->add(new TFilter('age', '<', 16), TExpression::OR_OPERATOR); $criteria->add(new TFilter('age', '>', 60), TExpression::OR_OPERATOR); echo $criteria->dump(); echo "<br>\n"; /** * Creates a criteria where the age is * less than 16 OR the age is greater than 60 */ $criteria = new TCriteria(); $criteria->add(new TFilter('age', 'BETWEEN', 16, 60)); echo $criteria->dump(); echo "<br>\n"; /** * Creates a criteria where the age is IN a (24,25,26) * and the age is not in (10) */ $criteria = new TCriteria(); $criteria->add(new TFilter('age', 'IN', array(24, 25, 26))); $criteria->add(new TFilter('age', 'NOT IN', array(10))); echo $criteria->dump(); echo "<br>\n"; /** * Creates a criteria where name start with pedro * OR name start with maria */ $criteria = new TCriteria(); $criteria->add(new TFilter('nome', 'like', 'pedro%'), TExpression::OR_OPERATOR); $criteria->add(new TFilter('nome', 'like', 'maria%'), TExpression::OR_OPERATOR); echo $criteria->dump(); echo "<br>\n"; /** * Creates a criteria where cellphone is not NULL * AND genre is FEMALE */ $criteria = new TCriteria(); $criteria->add(new TFilter('cellphone', 'IS NOT', NULL)); $criteria->add(new TFilter('gender', '=', 'F')); echo $criteria->dump(); echo "<br>\n"; /** * Creates a criteria where state is IN the set ('RS', 'SC', 'PR') * AND state NOT IN array('AC', 'PI') */ $criteria = new TCriteria(); $criteria->add(new TFilter('state', 'IN', array('RS', 'SC', 'PR'))); $criteria->add(new TFilter('state', 'NOT IN', array('AC', 'PI'))); echo $criteria->dump(); echo "<br>\n"; $criteria = new TCriteria(); $criteria->add(new TFilter('id', 'IN', '(SELECT customer_id FROM purchases)')); echo $criteria->dump(); // (id IN (SELECT customer_id FROM purchases)) echo "<br>\n"; $criteria = new TCriteria(); $criteria->add(new TFilter('birthdate', '<=', "NOESC:date(now()) - '2 years'::interval")); echo $criteria->dump(); // (birthdate <= date(now()) - '2 years'::interval) echo "<br>\n"; /** * Creates a criteria where the gender is Female * and age is greater than 18 */ $criteria1 = new TCriteria(); $criteria1->add(new TFilter('gender', '= ', 'F')); $criteria1->add(new TFilter('age', '>', '18')); /* * Creates a criteria where the gender is Male * and age is less than 16 */ $criteria2 = new TCriteria(); $criteria2->add(new TFilter('gender', '= ', 'M')); $criteria2->add(new TFilter('age', '<', '16')); /** * Creates a criteria that combines the two previous * criterias with the OR operator. */ $criteria = new TCriteria(); $criteria->add($criteria1, TExpression::OR_OPERATOR); $criteria->add($criteria2, TExpression::OR_OPERATOR); echo $criteria->dump(); echo "<br>\n"; } catch (Exception $e) { new TMessage('error', $e->getMessage()); } }