public function testAddInvolvedTable() { $b = new WhereBuilder(); $b->setRootModel('Blog'); $b->addInvolvedTable('articles.author'); $this->assertEquals('Article', $b->getInvolvedModel('articles')); $this->assertEquals(Article::table(), $b->getInvolvedTable('articles')); $jc = (new JoinClause('articles', 'articles'))->on('_', 'id', 'articles', 'blog_id'); $this->assertEquals($jc, $b->getJoinClause('articles')); $this->assertEquals('Author', $b->getInvolvedModel('articles.author')); $this->assertEquals(Author::table(), $b->getInvolvedTable('articles.author')); $jc = (new JoinClause('authors', 'articles.author'))->on('articles', 'author_id', 'articles.author', 'id'); $this->assertEquals($jc, $b->getJoinClause('articles.author')); }