Пример #1
0
 /**
  * Takes a built query with bind variables and an array of variables
  * with bind identities and binds all values.
  *
  * @param 2D Array $bindValues
  * @param QueryBuilder $query        	
  * @return BoundQueryBuilder
  */
 public function bindValuesToQuery($bindValues, $query)
 {
     foreach ($bindValues as $bind) {
         $values = $bind;
         // Check value is string not time/date object
         if (is_string($values[1])) {
             // Check for multiple comma seperated values
             if (strpos($values[1], ',')) {
                 $exValues = explode(',', $values[1]);
                 $query->setParameter($values[0], $exValues);
             } else {
                 // echo "Binding at: ".$values[0]. " With: ".$values[1]. "\n\n";
                 $query->setParameter($values[0], $values[1]);
             }
             //If value was object bind it as is
         } else {
             $query->setParameter($values[0], $values[1]);
         }
     }
     return $query;
 }
Пример #2
0
 /**
  * Build Criteria set.
  * 
  * @param QueryBuilder $qb
  * @param string $parameter
  * @param string $value
  * 
  * @throws Exception
  */
 private function buildCriteriaSet($qb, $parameter, $value)
 {
     switch ($parameter) {
         case 'name':
             $qb->orWhere($qb->expr()->like('up.name', $qb->expr()->literal($value . '%')));
             break;
         case 'email':
             $qb->orWhere($qb->expr()->eq('up.email', ':email'));
             $qb->setParameter('email', $value);
             break;
         case 'sysId':
             $qb->orWhere($qb->expr()->eq('uw.systemId', ':sysId'));
             $qb->setParameter('sysId', $value);
             break;
         case 'team':
             $qb->orWhere($qb->expr()->eq('t.tname', ':tname'));
             $qb->setParameter('tname', $value);
             break;
         default:
             throw new Exception("Paramenter {$parameter} not expected");
     }
 }