protected function issue886($di) { $this->_prepareDb($di->getShared('db')); Phalcon\Mvc\Model::setup(array('phqlLiterals' => false)); $people = People::findFirst(); $this->assertTrue(is_object($people)); $this->assertEquals(get_class($people), 'People'); }
<?php Phalcon\Mvc\Model::setup(array('phqlLiterals' => false));
protected function _executeTestsNormalComplexCastHydrate($di) { Phalcon\Mvc\Model::setup(['castOnHydrate' => true]); $result = $di->get('modelsManager')->executeQuery('SELECT id FROM Robots'); //Scalar complex query foreach ($result as $row) { $this->assertEquals(get_class($row), 'Phalcon\\Mvc\\Model\\Row'); $this->assertTrue(is_numeric($row->id)); } $result->setHydrateMode(Phalcon\Mvc\Model\Resultset::HYDRATE_RECORDS); foreach ($result as $row) { $this->assertEquals(get_class($row), 'Phalcon\\Mvc\\Model\\Row'); $this->assertTrue(is_numeric($row->id)); } $result->setHydrateMode(Phalcon\Mvc\Model\Resultset::HYDRATE_ARRAYS); foreach ($result as $row) { $this->assertTrue(is_array($row)); $this->assertTrue(is_numeric($row['id'])); } $result->setHydrateMode(Phalcon\Mvc\Model\Resultset::HYDRATE_OBJECTS); foreach ($result as $row) { $this->assertEquals(get_class($row), 'stdClass'); $this->assertTrue(is_numeric($row->id)); } //Complex resultset including scalars and complete objects $result = $di->get('modelsManager')->executeQuery('SELECT Robots.id, Robots.*, RobotsParts.* FROM Robots JOIN RobotsParts'); foreach ($result as $row) { $this->assertEquals(get_class($row), 'Phalcon\\Mvc\\Model\\Row'); $this->assertTrue(is_numeric($row->id)); $this->assertEquals(gettype($row->robots), 'object'); $this->assertEquals(get_class($row->robots), 'Robots'); $this->assertEquals(gettype($row->robotsParts), 'object'); $this->assertEquals(get_class($row->robotsParts), 'RobotsParts'); } $result->setHydrateMode(Phalcon\Mvc\Model\Resultset::HYDRATE_RECORDS); foreach ($result as $row) { $this->assertEquals(get_class($row), 'Phalcon\\Mvc\\Model\\Row'); $this->assertTrue(is_numeric($row->id)); $this->assertEquals(gettype($row->robots), 'object'); $this->assertEquals(get_class($row->robots), 'Robots'); $this->assertEquals(gettype($row->robotsParts), 'object'); $this->assertEquals(get_class($row->robotsParts), 'RobotsParts'); } $result->setHydrateMode(Phalcon\Mvc\Model\Resultset::HYDRATE_ARRAYS); foreach ($result as $row) { $this->assertTrue(is_array($row)); $this->assertTrue(is_numeric($row['id'])); $this->assertEquals(gettype($row['robots']), 'array'); $this->assertEquals(count($row['robots']), 7); $this->assertEquals(gettype($row['robotsParts']), 'array'); $this->assertEquals(count($row['robotsParts']), 3); } $result->setHydrateMode(Phalcon\Mvc\Model\Resultset::HYDRATE_OBJECTS); foreach ($result as $row) { $this->assertEquals(get_class($row), 'stdClass'); $this->assertTrue(is_numeric($row->id)); $this->assertEquals(gettype($row->robots), 'object'); $this->assertEquals(get_class($row->robots), 'stdClass'); $this->assertEquals(gettype($row->robotsParts), 'object'); $this->assertEquals(get_class($row->robotsParts), 'stdClass'); } Phalcon\Mvc\Model::setup(['castOnHydrate' => false]); }
protected function issue1801($di) { Phalcon\Mvc\Model::setup(array('columnRenaming' => false)); $robot = Robots::findFirst(1); $di->get('modelsMetadata')->reset(); $robot = Robots::findFirst(1); $this->assertTrue(true); }