Beispiel #1
0
 public function selectOne(Select $select)
 {
     $select->limit(1)->offset(0);
     $resultSet = $this->tableGateway->selectWith($select->getZendSelect());
     $result = $resultSet->toArray();
     return isset($result[0]) ? $result[0] : array();
 }
Beispiel #2
0
 /**
  * @example database::Query::limit
  * @code
  * <?php
  *     # cria objeto de consulta
  *     $query = Query::factory(...);
  *
  *     # coluna que sera agrupada
  *     $query->limit(10, 0);
  * ?>
  * @endcode
  *
  * {@ineritdoc}
  * */
 public function limit($limit, $offset)
 {
     if (NULL == $this->_limit) {
         $this->_limit = LimitAbstract::factory($this->_driver);
         $this->_select->limit($this->_limit);
     }
     $this->_limit->set($limit, $offset);
     return $this;
 }
Beispiel #3
0
 public function testLimit()
 {
     $limit = 123;
     $table = $this->getMockBuilder(\Sharkodlak\FluentDb\Table::class)->disableOriginalConstructor()->getMock();
     $factory = $this->getMockBuilder(\Sharkodlak\FluentDb\Factory\Factory::class)->getMock();
     $queryBuilder = $this->getMockBuilder(\Sharkodlak\FluentDb\Query\Builder::class)->setConstructorArgs(['SELECT', 'FROM'])->setMethods(['limit'])->getMock();
     $queryBuilder->expects($this->once())->method('limit')->with($this->equalTo($limit));
     $factory->expects($this->once())->method('getQueryBuilder')->will($this->returnValue($queryBuilder));
     $table->expects($this->once())->method('getFactory')->will($this->returnValue($factory));
     $query = new Select($table);
     $this->assertInstanceOf(Select::class, $query->limit($limit));
 }
 protected static function getAllOnWhere($table_name, $class, $where = false, $values = false, $order = false, $ask = true, $count = false, $offset = false)
 {
     $select = new Select();
     $select->from($table_name, "*");
     if ($where) {
         $select->where($where, $values);
     }
     if ($order) {
         $select->order($order, $ask);
     } else {
         $select->order("id");
     }
     if ($count) {
         $select->limit($count, $offset);
     }
     $data = self::$db->select($select);
     return AbstractObjectDB::buildMultiple($class, $data);
 }
Beispiel #5
0
 /**
  * Add limits so we retrieve only relavant rows
  *
  * @param Select $select Original select
  *
  * @return void
  */
 protected function setLimits($select)
 {
     if ($this->_show !== 0) {
         $select->limit($this->_show);
         $select->offset(($this->current_page - 1) * $this->_show);
     }
 }