public static function makeNotBetween($field, $range, $isSubQuery = false) { $condition = new WhereBetweenConditionBuilder(); $condition->field = FieldInfo::make($field, null, null, $isSubQuery); $condition->range = $range; $condition->notBetween = true; return $condition; }
public static function makeClause($field, $clause, $notIn = false, $isSubQuery = false) { $condition = new WhereInConditionBuilder(); $condition->field = FieldInfo::make($field, null, null, $isSubQuery); $condition->clause = $clause; $condition->notIn = $notIn; return $condition; }
public static function makeNormal($field, $operator, $value, $isSubQuery = false) { $builder = new WhereConditionBuilder(); $builder->field = FieldInfo::make($field, null, null, $isSubQuery); $builder->operator = $operator; $builder->value = $value; return $builder; }
public function getString(QueryContext $context) { if ("*" !== $this->field) { $field = FieldInfo::make($this->field); return "COUNT(" . $field->getName($context) . ")"; } return "COUNT(*)"; }
public function select() { $this->queryType = self::QUERY_SELECT; $fields = array(); if (func_num_args() > 0) { foreach (func_get_args() as $item) { if (is_string($item)) { $fields[] = FieldInfo::make($item); } } } if (1 === func_num_args()) { $params = func_get_arg(0); if (isset($params) && is_array($params)) { $fields = array(); foreach ($params as $key => $value) { if (!is_string($key)) { $fields[] = FieldInfo::make($value); } else { if (is_callable($value)) { $fields[] = FieldInfo::make($key, $key, $value); } else { $fields[] = FieldInfo::makeValueColumn($key, $value); } } } } } $this->selectFields = $fields; return $this; }
public function count() { $this->selectFields = array(FieldInfo::make(Func::count("*"), 'total_count')); return $this; }