public function interprete($request)
 {
     $modelUser = \Simple\Factory::model('user', 'U');
     $query = \Simple\Factory::query($modelUser);
     $query->select($modelUser->field('*'));
     $this->onlyCustomer($query, $request);
     $this->idUser($query, $request);
     return $query;
 }
 public function testQueryJoinWithArray()
 {
     $modelA = \Simple\Factory::model('superA', 'A');
     $modelB = \Simple\Factory::model('hiperB', 'B');
     $queryJoin = \Simple\Factory::queryJoin($modelA, array('hiperB', 'B'));
     $queryJoin->where($modelB->field('name'), 'john');
     $query = \Simple\Factory::query(array('superA', 'A'));
     $query->select($modelA->field('*'));
     $query->join('left', $queryJoin);
     $this->assertEquals('SELECT A.* FROM superA AS A LEFT JOIN hiperB AS B ON A.idSuperA = B.idSuperA AND B.name = (?)', $query->sqlSelect());
 }
Exemple #3
0
 protected function parseInclude($req, $query)
 {
     foreach (['left', 'right'] as $joinType) {
         $includes = (array) $req->getParam($joinType);
         foreach ($includes as $table => $include) {
             if (empty($include)) {
                 $model = \Simple\Factory::model($table);
                 $query->join($joinType, $model);
                 continue;
             }
             $queryJoin = \Simple\Factory::query($table);
             $queryJoin->equal($query->from->field($include), $queryJoin->from->field($include));
             $query->join($joinType, $queryJoin);
         }
     }
 }