Ejemplo n.º 1
0
 /**
  * Builds a params array, like the kind populated by Criterion::appendPsTo().
  * This is useful for building an array even when it is not using the appendPsTo() method.
  * @param      array $columns
  * @param      Criteria $values
  * @return     array params array('column' => ..., 'table' => ..., 'value' => ...)
  */
 private static function buildParams($columns, Criteria $values)
 {
     $params = array();
     foreach ($columns as $key) {
         if ($values->containsKey($key)) {
             $crit = $values->getCriterion($key);
             $params[] = array('column' => $crit->getColumn(), 'table' => $crit->getTable(), 'value' => $crit->getValue());
         }
     }
     return $params;
 }
Ejemplo n.º 2
0
 public function testClone()
 {
     $c1 = new Criteria();
     $c1->add('tbl.COL1', 'foo', Criteria::EQUAL);
     $c2 = clone $c1;
     $c2->addAnd('tbl.COL1', 'bar', Criteria::EQUAL);
     $nbCrit = 0;
     foreach ($c1->keys() as $key) {
         foreach ($c1->getCriterion($key)->getAttachedCriterion() as $criterion) {
             $nbCrit++;
         }
     }
     $this->assertEquals(1, $nbCrit, 'cloning a Criteria clones its Criterions');
 }