Elgg  Version 6.2
QueryOptions.php
Go to the documentation of this file.
1 <?php
2 
3 namespace Elgg\Database;
4 
15 use Elgg\Traits\Database\LegacyQueryOptionsAdapter;
16 
68 class QueryOptions extends \ArrayObject {
69 
70  use LegacyQueryOptionsAdapter;
71 
75  public function __construct($input = [], $flags = 0, $iterator_class = 'ArrayIterator') {
76  $input = $this->normalizeOptions($input);
77  parent::__construct($input, $flags, $iterator_class);
78  }
79 
83  public function __get($name) {
84  $val = &$this[$name];
85 
86  return $val;
87  }
88 
92  public function __set($name, $value) {
93  $this[$name] = $value;
94  }
95 
99  public function __unset($name) {
100  unset($this[$name]);
101  }
102 
106  public function __isset($name) {
107  return isset($this[$name]);
108  }
109 
117  public function distinct($distinct = true) {
118  $this->distinct = $distinct;
119 
120  return $this;
121  }
122 
130  public function where(WhereClause $clause) {
131  $this->wheres[] = $clause;
132 
133  return $this;
134  }
135 
143  public function select(SelectClause $clause) {
144  $this->selects[] = $clause;
145 
146  return $this;
147  }
148 
156  public function join(JoinClause $clause) {
157  $this->joins[] = $clause;
158 
159  return $this;
160  }
161 
169  public function groupBy(GroupByClause $clause) {
170  $this->group_by[] = $clause;
171 
172  return $this;
173  }
174 
182  public function having(HavingClause $clause) {
183  $this->having[] = $clause;
184 
185  return $this;
186  }
187 
195  public function orderBy(OrderByClause $clause) {
196  $this->order_by[] = $clause;
197 
198  return $this;
199  }
200 }
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