Exemplo n.º 1
0
 public function testTest()
 {
     $criteria1 = new \Reach\Mongo\Criteria();
     $criteria1->addOr(['title' => 'Title1']);
     $expected = ['$query' => ['$or' => [['title' => 'Title1']]]];
     $this->assertEquals($expected, $criteria1->asArray());
     $criteria1->addOr(['title' => 'Title2']);
     $criteria1->addOr(['title' => 'Title3']);
     $criteria2 = new \Reach\Mongo\Criteria();
     $criteria2->add('created', '<', new \MongoDate());
     $criteria2->add(['created' => ['<' => new \MongoDate()]]);
     $criteria2->add($criteria1);
     $criteria2->where('this.created < (new Date())');
     $criteria2->orderBy(['title' => -1]);
     $query = TestSchema::query($criteria2);
     $this->assertInstanceOf('\\Model\\Mongo\\TestSchemaQuery', $query);
     $resultSet = $query->all();
     $this->assertInstanceOf('\\Reach\\Mongo\\ResultSet', $resultSet);
     $result = $resultSet->limit(2)->asArray();
     $this->assertEquals(2, count($result));
     $this->assertEquals('Title3', $result[0]->title);
     $this->assertEquals('Title2', $result[1]->title);
     $doc = $query->title1()->one();
     $this->assertInstanceOf('\\Model\\Mongo\\TestSchema', $doc);
     $this->assertEquals('Title1', $doc->title);
 }