Exemplo n.º 1
0
 protected function _executeJoinTests($di, $dbtype)
 {
     //Left join with Simple resultset
     $robotparts = RobotsParts::query()->columns("Robots.id, Robots.name, RobotsParts.id robotpart_id")->leftJoin("Robots", "Robots.id = RobotsParts.robots_id")->execute();
     $this->assertTrue(is_object($robotparts));
     $this->assertInstanceOf('Phalcon\\Mvc\\Model\\Resultset\\Simple', $robotparts);
     $this->assertNotNull($robotparts->getFirst()->id);
     $this->assertNotNull($robotparts->getFirst()->name);
     $this->assertNotNull($robotparts->getFirst()->robotpart_id);
     //Two left joins with Simple resultset
     $robotparts = RobotsParts::query()->columns("RobotsParts.id, r.id robot_id, p.id part_id")->leftJoin("Robots", "r.id = RobotsParts.robots_id", "r")->leftJoin("Parts", "p.id = RobotsParts.parts_id", "p")->execute();
     $this->assertTrue(is_object($robotparts));
     $this->assertInstanceOf('Phalcon\\Mvc\\Model\\Resultset\\Simple', $robotparts);
     $this->assertNotNull($robotparts->getFirst()->id);
     $this->assertNotNull($robotparts->getFirst()->robot_id);
     $this->assertNotNull($robotparts->getFirst()->part_id);
     //Right join not supported in sqlite
     if ($dbtype != "sqlite") {
         //Right join with Simple resultset
         $robotparts = RobotsParts::query()->columns("Robots.id, Robots.name, RobotsParts.id robotpart_id")->rightJoin("Robots", "Robots.id = RobotsParts.robots_id")->execute();
         $this->assertTrue(is_object($robotparts));
         $this->assertInstanceOf('Phalcon\\Mvc\\Model\\Resultset\\Simple', $robotparts);
         $this->assertNotNull($robotparts->getFirst()->id);
         $this->assertNotNull($robotparts->getFirst()->name);
         $this->assertNotNull($robotparts->getFirst()->robotpart_id);
         //Two right joins with Simple resultset
         $robotparts = RobotsParts::query()->columns("RobotsParts.id, r.id robot_id, p.id part_id")->rightJoin("Robots", "r.id = RobotsParts.robots_id", "r")->rightJoin("Parts", "p.id = RobotsParts.parts_id", "p")->execute();
         $this->assertTrue(is_object($robotparts));
         $this->assertInstanceOf('Phalcon\\Mvc\\Model\\Resultset\\Simple', $robotparts);
         $this->assertNotNull($robotparts->getFirst()->id);
         $this->assertNotNull($robotparts->getFirst()->robot_id);
         $this->assertNotNull($robotparts->getFirst()->part_id);
     }
 }