/** * addForeignMormonsUsingStatement * * sets the join statement and other things for a has_many mormons using the "using" hash in * the $alias_or_table has_many hash * * @access private * @param string $alias_or_table * @param Mormons $mormons (reference) * @return void */ private function addForeignMormonsUsingStatement($alias_or_table, &$mormons) { foreach ($this->_has_many[$alias_or_table]['using'] as $using_alias => $to_set) { $mormons->set_join($using_alias); if (!isset($to_set['table'])) { $dummy_class = MormConf::generateMormClass($using_alias); $dummy = new $dummy_class(); $table = $dummy->_table; } else { $table = $to_set['table']; } $mormons->add_conditions(array($to_set['key'] => $this->{$this->_pkey}), $table); if (isset($to_set['condition'])) { $mormons->add_conditions($to_set['condition'], $table); } } }
public function testSetJoin() { $books = new Mormons('books'); $books->set_join('authors'); foreach ($books as $book) { $this->assertEqual(1, count($book->getForeignObjectForTesting())); } }