public function retrieveAsso(Doctrine_Query $q) { $alias = $q->getRootAlias(); $q->select("{$alias}.name, {$alias}.login, {$alias}.description, {$alias}.logo, {$alias}.salle, {$alias}.phone, {$alias}.facebook, p.id, p.asso_id, p.couleur"); $q->leftJoin("{$alias}.Pole p"); return $q->fetchOne(); }
public function fetchOne($params = array(), $hydrationMode = null) { $breadcrumb = $this->getBreadcrumb(); $result = parent::fetchOne($params, $hydrationMode); $this->restoreBreadcrumb($breadcrumb); return $result; }
public function testInlineMultiple() { $yml = <<<END --- DC147_Multiple: ISBN2: name: isbn2 ISBN3: name: isbn3 DC147_Product: Product_1: name: book3 MultipleValues: Multi_1: value: 123345678 Multiple: ISBN2 Multi_2: value: 232323233 Multiple: ISBN3 Product_2: name: book4 MultipleValues: Multi_3: value: 444455555 Multiple: ISBN2 Multi_4: value: 232323233 Multiple: ISBN3 END; try { file_put_contents('test.yml', $yml); Doctrine_Core::loadData('test.yml', true); $this->conn->clear(); $query = new Doctrine_Query(); $query->from('DC147_Product p, p.MultipleValues v, v.Multiple m')->where('p.name = ?', 'book3'); $product = $query->fetchOne(); $this->assertEqual($product->name, 'book3'); $this->assertEqual($product->MultipleValues->count(), 2); $this->assertEqual($product->MultipleValues[0]->value, '123345678'); $this->assertEqual(is_object($product->MultipleValues[0]->Multiple), true); $this->assertEqual($product->MultipleValues[0]->Multiple->name, 'isbn2'); $query = new Doctrine_Query(); $query->from('DC147_Product p, p.MultipleValues v, v.Multiple m')->where('p.name = ?', 'book4'); $product = $query->fetchOne(); $this->assertEqual($product->name, 'book4'); $this->assertEqual($product->MultipleValues->count(), 2); $this->assertEqual($product->MultipleValues[0]->value, '444455555'); $this->assertEqual($product->MultipleValues[1]->value, '232323233'); $this->assertEqual(is_object($product->MultipleValues[0]->Multiple), true); $this->assertEqual(is_object($product->MultipleValues[1]->Multiple), true); $this->assertEqual($product->MultipleValues[0]->Multiple->name, 'isbn2'); $this->assertEqual($product->MultipleValues[1]->Multiple->name, 'isbn3'); $this->pass(); } catch (Exception $e) { $this->fail(); } unlink('test.yml'); }
public function testTicket() { Doctrine_Manager::getInstance()->setAttribute(Doctrine_Core::ATTR_USE_DQL_CALLBACKS, true); $q = new Doctrine_Query(); $q->select('s.*')->from('Ticket_1116_User s')->where('s.username = ?', array('test')); // to see the error switch dbh to a real db, the next line will trigger the error $test = $q->fetchOne(); //will only fail with "real" mysql $this->assertFalse($test); $sql = $q->getSqlQuery(); // just getSql()?!?! and it works ? the params are ok after this call $params = $q->getFlattenedParams(); $this->assertEqual(count($params), 1); // now we have array('test',null) very strange ..... $this->assertEqual($sql, "SELECT u.id AS u__id, u.username AS u__username, u.deleted_at AS u__deleted_at FROM user u WHERE (u.username = ? AND (u.deleted_at IS NULL))"); $this->assertEqual($params, array('test')); //now also this works! (always works witch mock only fails with mysql) $test = $q->fetchOne(); $this->assertFalse($test); Doctrine_Manager::getInstance()->setAttribute(Doctrine_Core::ATTR_USE_DQL_CALLBACKS, false); }
public function fetchOne($params = array(), $hydrationMode = null) { $result = parent::fetchOne($params, $hydrationMode); $_p = $this->getParams($params); if ('exist' === $_p['where'][0]) { $tpl = new myTemplate(); $tpl->fromArray(array('id' => 1, 'name' => 'exist', 'body' => 'exist', 'renderer' => 'php')); return $tpl; } elseif ('empty' === $_p['where'][0]) { $tpl = new myTemplate(); $tpl->fromArray(array('id' => 1, 'name' => '', 'body' => '', 'renderer' => 'php')); return $tpl; } return $result; }
public function testBug() { $person = $this->newPerson('Fixe'); $profile = $this->newProfile('Work', $person); $guardUser = $person->get('sfGuardUser'); $id = $guardUser->get('id'); $guardUser->free(); $query = new Doctrine_Query(); $query->select('s.*, p.*, ps.*'); $query->from('sfGuardUser s'); $query->innerJoin('s.Person p'); $query->leftJoin('p.Profiles ps'); $query->where('s.id = ?', $id); $user = $query->fetchOne(); $array = $user->toArray(true); $this->assertEqual($array['id'], 1); $this->assertEqual($array['name'], 'Fixe'); $this->assertTrue(isset($array['Person']['Profiles'][0])); }
public function routeTest10(Doctrine_Query $q) { $q->orWhere($q->getRootAlias() . '.is_on_homepage = ?', 0); return $q->fetchOne(); }
public function fetchOne($params = array(), $hydrationMode = null) { $this->limit(1); return parent::fetchOne($params, $hydrationMode); }
public function retrieveActiveJob(Doctrine_Query $q) { $q->andWhere('a.expires_at > ?', date('Y-m-d H:i:s', time())); return $q->fetchOne(); }
public function testFetchingCtiRecordsSupportsLimitSubqueryAlgorithm() { $record = new CTITestOneToManyRelated; $record->name = 'Someone'; $record->cti_id = 1; $record->save(); $this->conn->clear(); $q = new Doctrine_Query(); $q->from('CTITestOneToManyRelated c')->leftJoin('c.CTITest c2')->where('c.id = 1')->limit(1); $record = $q->fetchOne(); $this->assertEqual($record->name, 'Someone'); $this->assertEqual($record->cti_id, 1); $cti = $record->CTITest[0]; $this->assertEqual($cti->id, 1); $this->assertEqual($cti->name, 'Jack Daniels'); $this->assertEqual($cti->verified, true); $this->assertTrue(isset($cti->added)); $this->assertEqual($cti->age, 13); }
public function retrieveActiveJob(Doctrine_Query $query) { $query->addWhere('a.expires_at > ?', date('Y-m-d H:i:s', time() - 86400 * sfConfig::get('app_active_days'))); return $query->fetchOne(); }
public function retrieveForRoute(Doctrine_Query $q) { $q->leftJoin($q->getRootAlias() . '.Articles'); return $q->fetchOne(); }