Open Data Catalog v2.0.0
QueryToQueryHelperTrait.php
Go to the documentation of this file.
1 <?php
2 
4 
5 use Drupal\Core\Database\Query\Select;
7 
15 trait QueryToQueryHelperTrait {
16 
20  private function setQueryConditions(Select $db_query, Query $query) {
21  foreach ($query->conditions as $property => $value) {
22  $db_query->condition($property, $value, "LIKE");
23  }
24  }
25 
29  private function setQueryOrderBy(Select $db_query, Query $query) {
30  foreach ($query->sort['ASC'] as $property) {
31  $db_query->orderBy($property);
32  }
33 
34  foreach ($query->sort['DESC'] as $property) {
35  $db_query->orderBy($property, 'DESC');
36  }
37  }
38 
42  private function setQueryLimitAndOffset(Select $db_query, Query $query) {
43  if ($query->limit) {
44  if ($query->offset) {
45  $db_query->range($query->offset, $query->limit);
46  }
47  else {
48  $db_query->range(0, $query->limit);
49  }
50  }
51  elseif ($query->offset) {
52  $db_query->range($query->limit);
53  }
54  }
55 
56 }
Drupal\dkan_datastore\Storage\Query
Definition: Query.php:13
Drupal\dkan_common\Storage
Definition: AbstractDatabaseTable.php:3