@@ -29,6 +29,8 @@ class Doctrine_Query_Limit_TestCase extends Doctrine_UnitTestCase {
...
@@ -29,6 +29,8 @@ class Doctrine_Query_Limit_TestCase extends Doctrine_UnitTestCase {
$this->assertEqual($users->count(),5);
$this->assertEqual($users->count(),5);
$users[0]->Phonenumber[0];
$users[0]->Phonenumber[0];
$this->assertEqual($count,$this->dbh->count());
$this->assertEqual($count,$this->dbh->count());
$this->assertEqual($this->query->getQuery(),
$this->assertEqual($this->query->getQuery(),
'SELECT entity.id AS entity__id, phonenumber.id AS phonenumber__id, phonenumber.phonenumber AS phonenumber__phonenumber, phonenumber.entity_id AS phonenumber__entity_id FROM entity LEFT JOIN phonenumber ON entity.id = phonenumber.entity_id WHERE entity.id IN (SELECT DISTINCT entity.id FROM entity WHERE (entity.type = 0) LIMIT 5) AND (entity.type = 0)');
'SELECT entity.id AS entity__id, phonenumber.id AS phonenumber__id, phonenumber.phonenumber AS phonenumber__phonenumber, phonenumber.entity_id AS phonenumber__entity_id FROM entity LEFT JOIN phonenumber ON entity.id = phonenumber.entity_id WHERE entity.id IN (SELECT DISTINCT entity.id FROM entity WHERE (entity.type = 0) LIMIT 5) AND (entity.type = 0)');
...
@@ -41,6 +43,7 @@ class Doctrine_Query_Limit_TestCase extends Doctrine_UnitTestCase {
...
@@ -41,6 +43,7 @@ class Doctrine_Query_Limit_TestCase extends Doctrine_UnitTestCase {
$q->from("User(name)")->where("User.Phonenumber.phonenumber LIKE '%123%'")->limit(5);
$q->from("User(name)")->where("User.Phonenumber.phonenumber LIKE '%123%'")->limit(5);
...
@@ -53,6 +56,7 @@ class Doctrine_Query_Limit_TestCase extends Doctrine_UnitTestCase {
...
@@ -53,6 +56,7 @@ class Doctrine_Query_Limit_TestCase extends Doctrine_UnitTestCase {
$this->assertEqual($users[4]->name,'Jean Reno');
$this->assertEqual($users[4]->name,'Jean Reno');
$this->assertEqual($users->count(),5);
$this->assertEqual($users->count(),5);
$this->assertEqual($q->getQuery(),
$this->assertEqual($q->getQuery(),
"SELECT entity.id AS entity__id, entity.name AS entity__name FROM entity LEFT JOIN phonenumber ON entity.id = phonenumber.entity_id WHERE entity.id IN (SELECT DISTINCT entity.id FROM entity LEFT JOIN phonenumber ON entity.id = phonenumber.entity_id WHERE phonenumber.phonenumber LIKE '%123%' AND (entity.type = 0) LIMIT 5) AND phonenumber.phonenumber LIKE '%123%' AND (entity.type = 0)");
"SELECT entity.id AS entity__id, entity.name AS entity__name FROM entity LEFT JOIN phonenumber ON entity.id = phonenumber.entity_id WHERE entity.id IN (SELECT DISTINCT entity.id FROM entity LEFT JOIN phonenumber ON entity.id = phonenumber.entity_id WHERE phonenumber.phonenumber LIKE '%123%' AND (entity.type = 0) LIMIT 5) AND phonenumber.phonenumber LIKE '%123%' AND (entity.type = 0)");
}
}
...
@@ -116,23 +120,70 @@ class Doctrine_Query_Limit_TestCase extends Doctrine_UnitTestCase {
...
@@ -116,23 +120,70 @@ class Doctrine_Query_Limit_TestCase extends Doctrine_UnitTestCase {
$q->from("User(id).Phonenumber(id)");
$q->from("User(id).Phonenumber(id)");
$q->where("User.name LIKE ? || User.name LIKE ?");
$q->where("User.name LIKE ? || User.name LIKE ?");
$q->limit(5);
$q->limit(5);
$users=$q->execute(array('%zYne%','%Arnold%'));
$users=$q->execute(array('%zYne%','%Arnold%'));
$this->assertEqual($users->count(),2);
$this->assertEqual($users->count(),2);
$count=$this->dbh->count();
$count=$this->dbh->count();
$users[0]->Phonenumber[0];
$users[0]->Phonenumber[0];
$this->assertEqual($count,$this->dbh->count());
$this->assertEqual($count,$this->dbh->count());
$this->assertEqual($q->getQuery(),
$this->assertEqual($q->getQuery(),
"SELECT entity.id AS entity__id, phonenumber.id AS phonenumber__id FROM entity LEFT JOIN phonenumber ON entity.id = phonenumber.entity_id WHERE entity.id IN (SELECT DISTINCT entity.id FROM entity WHERE (entity.name LIKE ? OR entity.name LIKE ?) AND (entity.type = 0) LIMIT 5) AND (entity.name LIKE ? OR entity.name LIKE ?) AND (entity.type = 0)");
"SELECT entity.id AS entity__id, phonenumber.id AS phonenumber__id FROM entity LEFT JOIN phonenumber ON entity.id = phonenumber.entity_id WHERE entity.id IN (SELECT DISTINCT entity.id FROM entity WHERE (entity.name LIKE ? OR entity.name LIKE ?) AND (entity.type = 0) LIMIT 5) AND (entity.name LIKE ? OR entity.name LIKE ?) AND (entity.type = 0)");