Elgg  Version 6.3
QueryOptions.php
Go to the documentation of this file.
1 <?php
2 
3 namespace Elgg\Database;
4 
15 use Elgg\Traits\Database\LegacyQueryOptionsAdapter;
16 
70 class QueryOptions extends \ArrayObject {
71 
72  use LegacyQueryOptionsAdapter;
73 
77  public function __construct($input = [], $flags = 0, $iterator_class = 'ArrayIterator') {
78  $input = $this->normalizeOptions($input);
79  parent::__construct($input, $flags, $iterator_class);
80  }
81 
85  public function __get($name) {
86  $val = &$this[$name];
87 
88  return $val;
89  }
90 
94  public function __set($name, $value) {
95  $this[$name] = $value;
96  }
97 
101  public function __unset($name) {
102  unset($this[$name]);
103  }
104 
108  public function __isset($name) {
109  return isset($this[$name]);
110  }
111 
119  public function distinct($distinct = true) {
120  $this->distinct = $distinct;
121 
122  return $this;
123  }
124 
132  public function where(WhereClause $clause) {
133  $this->wheres[] = $clause;
134 
135  return $this;
136  }
137 
145  public function select(SelectClause $clause) {
146  $this->selects[] = $clause;
147 
148  return $this;
149  }
150 
158  public function join(JoinClause $clause) {
159  $this->joins[] = $clause;
160 
161  return $this;
162  }
163 
171  public function groupBy(GroupByClause $clause) {
172  $this->group_by[] = $clause;
173 
174  return $this;
175  }
176 
184  public function having(HavingClause $clause) {
185  $this->having[] = $clause;
186 
187  return $this;
188  }
189 
197  public function orderBy(OrderByClause $clause) {
198  $this->order_by[] = $clause;
199 
200  return $this;
201  }
202 }
if(! $user||! $user->canDelete()) $name
Definition: delete.php:22
Builds queries for matching annotations against their properties.
Extends QueryBuilder with clauses necessary to sort entity lists by entity properties.
Extends QueryBuilder with GROUP BY statements.
Extends QueryBuilder with HAVING clauses.
Extends QueryBuilder with JOIN clauses.
Definition: JoinClause.php:11
Builds clauses for filtering entities by properties in metadata table.
Extends QueryBuilder with ORDER BY clauses.
Builds clauses for filtering entities by their properties in entity_relationships table.
Extends QueryBuilder with SELECT clauses.
Builds a clause from closure or composite expression.
Definition: WhereClause.php:11
__set($name, $value)
{}
where(WhereClause $clause)
Add where statement.
__construct($input=[], $flags=0, $iterator_class='ArrayIterator')
{}
having(HavingClause $clause)
Add having statement.
select(SelectClause $clause)
Add a select statement.
join(JoinClause $clause)
Add a join callback.
distinct($distinct=true)
Return DISTINCT rows.
groupBy(GroupByClause $clause)
Add group by statement.
orderBy(OrderByClause $clause)
Add order by statement.
$input
Form field view.
Definition: field.php:13
$value
Definition: generic.php:51