/** * Construct a new SQLSelect. * * @param array $select An array of SELECT fields. * @param array|string $from An array of FROM clauses. The first one should be just the table name. * Each should be ANSI quoted. * @param array $where An array of WHERE clauses. * @param array $orderby An array ORDER BY clause. * @param array $groupby An array of GROUP BY clauses. * @param array $having An array of HAVING clauses. * @param array|string $limit A LIMIT clause or array with limit and offset keys */ public function __construct($select = "*", $from = array(), $where = array(), $orderby = array(), $groupby = array(), $having = array(), $limit = array()) { parent::__construct($from, $where); $this->setSelect($select); $this->setOrderBy($orderby); $this->setGroupBy($groupby); $this->setHaving($having); $this->setLimit($limit); }
/** * Returns the WHERE clauses ready for inserting into a query. * * @param SQLExpression $query The expression object to build from * @param array $parameters Out parameter for the resulting query parameters * @return string Completed where condition */ public function buildWhereFragment(SQLConditionalExpression $query, array &$parameters) { // Get parameterised elements $where = $query->getWhereParameterised($whereParameters); if (empty($where)) { return ''; } // Join conditions $connective = $query->getConnective(); $parameters = array_merge($parameters, $whereParameters); $nl = $this->getSeparator(); return "{$nl}WHERE (" . implode("){$nl}{$connective} (", $where) . ")"; }
/** * Construct a new SQLDelete. * * @param array|string $from An array of Tables (FROM clauses). The first one should be just the table name. * Each should be ANSI quoted. * @param array $where An array of WHERE clauses. * @param array|string $delete The table(s) to delete, if multiple tables are queried from */ function __construct($from = array(), $where = array(), $delete = array()) { parent::__construct($from, $where); $this->setDelete($delete); }
public function isEmpty() { return empty($this->assignment) || $this->assignment->isEmpty() || parent::isEmpty(); }