/** * @param AbstractDbMapper $mapper */ public function injectDbAdapter($mapper) { if ($mapper instanceof DbAdapterAwareInterface) { /* @var $dbAdapter Adapter */ $dbAdapter = isset($this->creationOptions['dbAdapter']) ? $this->creationOptions['dbAdapter'] : $this->serviceLocator->get(Adapter::class); /** @var $dbOptions DbOptions */ $dbOptions = $this->serviceLocator->get(DbOptions::class); // enable foreign key constraints on sqlite. if ($dbOptions->isSqliteConstraints() && !$this->sqliteConstraints) { $dbAdapter->query('PRAGMA FOREIGN_KEYS = ON', Adapter::QUERY_MODE_EXECUTE); $this->sqliteConstraints = true; } $mapper->setMysql57Compatible($dbOptions->isMysql57Compatible())->setDbAdapter($dbAdapter); } }
public function search(array $search, $sort, $select = null) { if (false === $this->getListOldEntries()) { $now = new DateTime(); $select = $this->getSelect(); $select->where->greaterThanOrEqualTo('dateTime', $now->format('Y-m-d H:i:s')); } return parent::search($search, $sort, $select); }
/** * @param array $search * @param string $sort * @param Select $select * @return \Zend\Db\ResultSet\HydratingResultSet|\Zend\Db\ResultSet\ResultSet|\Zend\Paginator\Paginator */ public function search(array $search, $sort, $select = null) { if (str_replace('-', '', $sort) == 'name') { if (strchr($sort, '-')) { $sort = ['-lastname', '-firstname']; } else { $sort = ['lastname', 'firstname']; } } return parent::search($search, $sort, $select); }
/** * Deletes a row from tree. * * @param int|array $where * @param string $table * @return int number of affected rows */ public function delete($where, $table = null) { if (is_array($where)) { $pk = $where[$this->getPrimaryKey()]; } else { $pk = (int) $where; } $row = $this->getPosition($pk); $where = new Where(); $where->between(self::COLUMN_LEFT, $row->getLft(), $row->getRgt()); $result = parent::delete($where, $table); if ($result) { $this->updateTree($row->getRgt(), '-', $row->width()); } return $result; }
public function search(array $search, $sort, $select = null) { $select = $this->getSelect(); $select->join('article', 'news.articleId=article.articleId', array(), Select::JOIN_LEFT); return parent::search($search, $sort, $select); }