. */ /** * Doctrine_Query_MultiJoin2_TestCase * * @package Doctrine * @author Konsta Vesterinen * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @category Object Relational Mapping * @link www.phpdoctrine.com * @since 1.0 * @version $Revision$ */ class Doctrine_Query_MultiJoin2_TestCase extends Doctrine_UnitTestCase { public function testInitializeData() { $query = new Doctrine_Query($this->connection); $cat = new QueryTest_Category(); $cat->rootCategoryId = 0; $cat->parentCategoryId = 0; $cat->name = "Cat1"; $cat->position = 0; $cat->save(); $board = new QueryTest_Board(); $board->name = "B1"; $board->categoryId = $cat->id; $board->position = 0; $board->save(); $author = new QueryTest_User(); $author->username = "romanb"; $author->save(); $lastEntry = new QueryTest_Entry(); $lastEntry->authorId = $author->id; $lastEntry->date = 1234; $lastEntry->save(); } public function testMultipleJoinFetchingWithDeepJoins() { $query = new Doctrine_Query($this->connection); $categories = $query->select("c.*, subCats.*, b.*, le.*, a.*") ->from("QueryTest_Category c") ->leftJoin("c.subCategories subCats") ->leftJoin("c.boards b") ->leftJoin("b.lastEntry le") ->leftJoin("le.author a") ->where("c.parentCategoryId = 0") ->orderBy("c.position ASC, subCats.position ASC, b.position ASC") ->execute(); } }