protected function _buildQueryWhere(KDatabaseQueryInterface $query) { $state = $this->getState(); if ($state->extman_extension_id) { $query->where('tbl.extman_extension_id = :extension_id')->bind(array('extension_id' => $state->extman_extension_id)); } if ($state->dependent_id) { $query->where('tbl.dependent_id = :dependent_id')->bind(array('dependent_id' => $state->dependent_id)); } }
protected function _buildQueryWhere(KDatabaseQueryInterface $query) { $state = $this->getState(); if ($state->stale) { $query->where('(status = 1 AND NOW() > DATE_ADD(modified_on, INTERVAL 5 MINUTE))'); } if (is_numeric($state->status) || !empty($state->status)) { $query->where('tbl.status IN :status')->bind(array('status' => (array) $state->status)); } if (is_numeric($state->queue) || !empty($state->queue)) { $query->where('tbl.queue IN :queue')->bind(array('queue' => (array) $state->queue)); } }
protected function _buildQuerySearchKeyword(KDatabaseQueryInterface $query) { $state = $this->getState(); $search = $state->search; if (!empty($search)) { switch ($state->search_by) { case 'exact': $query->where('(tbl.title LIKE :search OR tbl.description LIKE :search)') ->bind(array('search' => '%'.$search.'%')); break; case 'any': $query->where('(tbl.title RLIKE :search OR tbl.description RLIKE :search)') ->bind(array('search' => implode('|', explode(' ', $search)))); break; case 'all': $i = 0; foreach (explode(' ', $search) as $keyword) { $query->where("(tbl.title LIKE :search$i OR tbl.description LIKE :search$i)") ->bind(array("search$i" => '%'.$keyword.'%')); $i++; } break; } } }
protected function _buildQueryJoins(KDatabaseQueryInterface $query) { $query->join(array('viewlevel' => 'viewlevels'), 'tbl.access = viewlevel.id'); parent::_buildQueryJoins($query); }
protected function _buildQueryOrder(KDatabaseQueryInterface $query) { $sort = $this->getState()->sort; $direction = strtoupper($this->getState()->direction); if ($sort) { $column = $this->getTable()->mapColumns($sort); if (array_key_exists($column, $this->getTable()->getColumns())) { $query->order($column, $direction); } } }