コード例 #1
0
ファイル: CustomWhereBuilder.php プロジェクト: jimonade/pdope
 /**
  * Build a proper WHERE and return it
  *
  * @example
  * <code>
  * $array = ($verb, $field, $operator, $value, $type);
  * $this->build_where($array);
  * </code>
  *
  * @return  VOID
  *
  * @since   2016-09-28
  * @author  Jim Harney <*****@*****.**>
  * @author  Wesley Dekkers <*****@*****.**>
  **/
 public function build_where($rule, $verb = true)
 {
     $field = \PDope\Utilities::escape_mysql_identifier($rule->field);
     $operator = $rule->operator;
     $token = $rule->token;
     if (is_object($rule)) {
         $field = \PDope\Utilities::escape_mysql_identifier($rule->field);
         $operator = $rule->operator;
         $token = $rule->token;
         if ($verb) {
             $sql .= " {$rule->verb} ";
         }
         if (is_array($token) && $operator == 'BETWEEN') {
             if (\PDope\Utilities::is_special_type($rule->type)) {
                 throw new \Exception("PDopeCustomWhereBuilder get_where(), array, does not support special type [{$rule->type}]");
             }
             $token_list = implode(", ", $token);
             $sql .= " {$field} {$operator} {$token[0]} AND {$token[1]}";
         } elseif (is_array($token)) {
             if (\PDope\Utilities::is_special_type($rule->type)) {
                 throw new \Exception("PDopeCustomWhereBuilder get_where(), array, does not support special type [{$rule->type}]");
             }
             $token_list = implode(", ", $token);
             $sql .= "({$field} {$operator} ({$token_list}))";
         } else {
             $token = \PDope\Utilities::translate_special_token($token, $rule->type);
             $sql .= "({$field} {$operator} {$token})";
         }
     }
     return $sql;
 }
コード例 #2
0
ファイル: Statement.php プロジェクト: jimonade/pdope
 /**
  * transforms query results that should be booleans to boolean literals from
  * 0 or 1 tinyints.
  *
  * @return array
  *
  * @since 2016-7-18
  * @author Matthew Ess <*****@*****.**>
  **/
 private function transform_boolean_values($results)
 {
     foreach ($results as $result) {
         foreach ($this->model_object->get_data_properties() as $property) {
             if (\PDope\Utilities::get_pdo_type_from_generic_type($property->get_type()) == \PDO::PARAM_BOOL) {
                 $property_name = $property->name;
                 $result->{$property_name} = \Rhonda\Boolean::evaluate($result->{$property_name});
             }
         }
     }
     return $results;
 }