Example #1
0
 /**
  * @param QueryBuilderHandler $queryBuilder
  * @param                     $event
  * @return mixed
  */
 public function fireEvents($queryBuilder, $event)
 {
     $statements = $queryBuilder->getStatements();
     $tables = isset($statements['tables']) ? $statements['tables'] : array();
     // Events added with :any will be fired in case of any table,
     // we are adding :any as a fake table at the beginning.
     array_unshift($tables, ':any');
     // Fire all events
     foreach ($tables as $table) {
         // Fire before events for :any table
         if ($action = $this->getEvent($event, $table)) {
             // Make an event id, with event type and table
             $eventId = $event . $table;
             // Fire event
             $handlerParams = func_get_args();
             unset($handlerParams[1]);
             // we do not need $event
             // Add to fired list
             $this->firedEvents[] = $eventId;
             $result = call_user_func_array($action, $handlerParams);
             if (!is_null($result)) {
                 return $result;
             }
         }
     }
 }
Example #2
0
 public function testPaginatorGenerateWithPixieAdapter()
 {
     $records = $this->qb->table('sample')->select('t_value');
     $expected = $this->qb->table('sample')->select('t_value')->limit(10)->offset(10)->get();
     $paginatorClass = new Paginator();
     $paginator = $paginatorClass->page(2)->perPage(10)->make($records);
     $this->assertEquals(100, $paginator->total(), 'Failed asserting pagination total.');
     $this->assertEquals($expected, $paginator->records(), 'Failed asserting pagination records.');
 }
 /**
  * @param QueryBuilderHandler $queryBuilder
  * @param null                $alias
  *
  * @return Raw
  */
 public function subQuery(QueryBuilderHandler $queryBuilder, $alias = null)
 {
     $sql = '(' . $queryBuilder->getQuery()->getRawSql() . ')';
     if ($alias) {
         $sql = $sql . ' as ' . $alias;
     }
     return $queryBuilder->raw($sql);
 }
Example #4
0
 public function subQuery(Model $model, $alias = null)
 {
     return $this->query->subQuery($model->getQuery(), $alias);
 }
 public function findAllDynamic($fieldName, $value)
 {
     $results = parent::findAll($fieldName, $value);
     return $this->convertResults($results);
 }
Example #6
0
 /**
  * @expectedException \Pixie\Exception
  * @expectedExceptionCode 3
  */
 public function testTableNotSpecifiedException()
 {
     $this->builder->where('a', 'b')->get();
 }