diff --git a/tests/unit/data/sphinx/ar/ArticleIndex.php b/tests/unit/data/sphinx/ar/ArticleIndex.php index 3865216..767fdea 100644 --- a/tests/unit/data/sphinx/ar/ArticleIndex.php +++ b/tests/unit/data/sphinx/ar/ArticleIndex.php @@ -23,6 +23,11 @@ class ArticleIndex extends ActiveRecord return $this->hasOne('db', ArticleDb::className(), ['id' => 'id']); } + public function getTags() + { + return $this->hasMany('db', TagDb::className(), ['id' => 'tag']); + } + public function getSnippetSource() { return $this->source->content; diff --git a/tests/unit/data/sphinx/ar/TagDb.php b/tests/unit/data/sphinx/ar/TagDb.php new file mode 100644 index 0000000..2d87eaf --- /dev/null +++ b/tests/unit/data/sphinx/ar/TagDb.php @@ -0,0 +1,12 @@ + 2]); + + // has one : $this->assertFalse($article->isRelationPopulated('source')); $source = $article->source; $this->assertTrue($article->isRelationPopulated('source')); $this->assertTrue($source instanceof ArticleDb); $this->assertEquals(1, count($article->populatedRelations)); + + // has many : + /*$this->assertFalse($article->isRelationPopulated('tags')); + $tags = $article->tags; + $this->assertTrue($article->isRelationPopulated('tags')); + $this->assertEquals(3, count($tags)); + $this->assertTrue($tags[0] instanceof TagDb);*/ } public function testFindEager() { + // has one : $articles = ArticleIndex::find()->with('source')->all(); $this->assertEquals(2, count($articles)); $this->assertTrue($articles[0]->isRelationPopulated('source')); $this->assertTrue($articles[1]->isRelationPopulated('source')); $this->assertTrue($articles[0]->source instanceof ArticleDb); $this->assertTrue($articles[1]->source instanceof ArticleDb); + + // has many : + /*$articles = ArticleIndex::find()->with('tags')->all(); + $this->assertEquals(2, count($articles)); + $this->assertTrue($articles[0]->isRelationPopulated('tags')); + $this->assertTrue($articles[1]->isRelationPopulated('tags'));*/ } /**