public function testFk()
 {
     $model = new \Simple\Model(['table' => 'superA', 'pk' => 'primaryA']);
     $modelB = new \Simple\Model(['table' => 'superB', 'pk' => 'primaryB']);
     $this->assertEquals($model->pk(), 'primaryA');
     $this->assertEquals($model->field('work'), 'superA.work');
     $this->assertEquals($model->fk($modelB), 'superA.primaryBSuperB');
 }
 public function testSubQueries()
 {
     $modelA = new \Simple\Model(['table' => 'superA', 'alias' => 'A']);
     $modelB = new \Simple\Model(['table' => 'log', 'alias' => 'B']);
     $modelC = new \Simple\Model(['table' => 'megaC', 'alias' => 'C']);
     $expectSql = 'SELECT A.* FROM superA AS A WHERE A.idSuperA IN (SELECT B.idSuperA FROM log AS B WHERE date BETWEEN (?) AND (?))';
     $query = new \Simple\Query($modelA);
     $query->select($modelA->field('*'));
     $queryLogModelA = (new \Simple\Query($modelB))->select($modelB->fk($modelA))->where('date BETWEEN (?) AND (?)', [1, 2], 'RAW');
     $query->where($modelA->field($modelA->pk()), $queryLogModelA, 'IN');
     $this->assertEquals($expectSql, $query->sqlSelect());
     $this->assertEquals(array(1, 2), $query->bindParameters);
 }