diff --git a/Doctrine/Collection.php b/Doctrine/Collection.php index 7fc28a47b..e6e0536a3 100644 --- a/Doctrine/Collection.php +++ b/Doctrine/Collection.php @@ -540,7 +540,7 @@ class Doctrine_Collection extends Doctrine_Access implements Countable, Iterator return $query; } - $rel = $this->table->getForeignKey($name); + $rel = $this->table->getRelation($name); $table = $rel->getTable(); $foreign = $rel->getForeign(); $local = $rel->getLocal(); @@ -570,7 +570,7 @@ class Doctrine_Collection extends Doctrine_Access implements Countable, Iterator * @return void */ public function populateRelated($name, Doctrine_Collection $coll) { - $rel = $this->table->getForeignKey($name); + $rel = $this->table->getRelation($name); $table = $rel->getTable(); $foreign = $rel->getForeign(); $local = $rel->getLocal(); diff --git a/Doctrine/Connection.php b/Doctrine/Connection.php index 3cec94d42..7ffa0aa9a 100644 --- a/Doctrine/Connection.php +++ b/Doctrine/Connection.php @@ -270,7 +270,7 @@ abstract class Doctrine_Connection extends Doctrine_Configurable implements Coun //print "$k -- adding $nm...
"; } - $rels = $table->getForeignKeys(); + $rels = $table->getRelations(); // group relations @@ -715,7 +715,7 @@ abstract class Doctrine_Connection extends Doctrine_Configurable implements Coun final public function saveRelated(Doctrine_Record $record) { $saveLater = array(); foreach($record->getReferences() as $k=>$v) { - $fk = $record->getTable()->getForeignKey($k); + $fk = $record->getTable()->getRelation($k); if($fk instanceof Doctrine_ForeignKey || $fk instanceof Doctrine_LocalKey) { switch($fk->getType()): @@ -849,7 +849,7 @@ abstract class Doctrine_Connection extends Doctrine_Configurable implements Coun * @return void */ final public function deleteComposites(Doctrine_Record $record) { - foreach($record->getTable()->getForeignKeys() as $fk) { + foreach($record->getTable()->getRelations() as $fk) { switch($fk->getType()): case Doctrine_Relation::ONE_COMPOSITE: case Doctrine_Relation::MANY_COMPOSITE: diff --git a/Doctrine/Connection/Mysql.php b/Doctrine/Connection/Mysql.php index a6d0432c7..89d43e148 100644 --- a/Doctrine/Connection/Mysql.php +++ b/Doctrine/Connection/Mysql.php @@ -13,7 +13,7 @@ class Doctrine_Connection_Mysql extends Doctrine_Connection_Common { $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, true); $this->setAttribute(Doctrine::ATTR_QUERY_LIMIT, Doctrine::LIMIT_ROWS); parent::__construct($manager,$pdo); - } + } /** * deletes all data access object from the collection * @param Doctrine_Collection $coll @@ -24,7 +24,7 @@ class Doctrine_Connection_Mysql extends Doctrine_Connection_Common { $a = $coll->getTable()->getCompositePaths(); $a = array_merge(array($coll->getTable()->getComponentName()),$a); - $graph = new Doctrine_DQL_Parser($this); + $graph = new Doctrine_Query(); foreach($coll as $k=>$record) { switch($record->getState()): case Doctrine_Record::STATE_DIRTY: @@ -44,7 +44,6 @@ class Doctrine_Connection_Mysql extends Doctrine_Connection_Common { return $ids; } */ - /** * returns maximum identifier values * diff --git a/Doctrine/Hydrate.php b/Doctrine/Hydrate.php index 9e023da94..34dc5a562 100644 --- a/Doctrine/Hydrate.php +++ b/Doctrine/Hydrate.php @@ -293,7 +293,7 @@ abstract class Doctrine_Hydrate extends Doctrine_Access { $prev[$root] = $coll; - if($this->aggregate) + if($this->aggregate) $return = Doctrine::FETCH_ARRAY; $array = $this->parseData($stmt); @@ -341,7 +341,7 @@ abstract class Doctrine_Hydrate extends Doctrine_Access { $tmp = explode(".", $path); $alias = end($tmp); unset($tmp); - $fk = $this->tables[$pointer]->getForeignKey($alias); + $fk = $this->tables[$pointer]->getRelation($alias); if( ! isset($prev[$pointer]) ) continue; @@ -389,7 +389,7 @@ abstract class Doctrine_Hydrate extends Doctrine_Access { $tmp = explode(".", $path); $alias = end($tmp); unset($tmp); - $fk = $this->tables[$pointer]->getForeignKey($alias); + $fk = $this->tables[$pointer]->getRelation($alias); $last = $prev[$pointer]->getLast(); switch($fk->getType()): diff --git a/Doctrine/Query.php b/Doctrine/Query.php index 5d8a9f017..c4e13514c 100644 --- a/Doctrine/Query.php +++ b/Doctrine/Query.php @@ -326,7 +326,7 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { $field = $table->getTableName().'.'.$table->getIdentifier(); array_unshift($this->parts['where'], $field.' IN ('.$subquery.')'); $modifyLimit = false; - } + } } $q .= ( ! empty($this->parts['where']))?" WHERE ".implode(" AND ",$this->parts["where"]):''; @@ -649,7 +649,7 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable { $tname = $table->getTableName(); - $fk = $table->getForeignKey($name); + $fk = $table->getRelation($name); $name = $fk->getTable()->getComponentName(); $original = $fk->getTable()->getTableName(); diff --git a/Doctrine/Record.php b/Doctrine/Record.php index 6f5fda19a..3a8cd415b 100644 --- a/Doctrine/Record.php +++ b/Doctrine/Record.php @@ -670,7 +670,7 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite } else { // if not found, throws InvalidKeyException - $fk = $this->table->getForeignKey($name); + $fk = $this->table->getRelation($name); // one-to-many or one-to-one relation if($fk instanceof Doctrine_ForeignKey || @@ -869,7 +869,7 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite * @return void */ final public function saveAssociations() { - foreach($this->table->getForeignKeys() as $fk): + foreach($this->table->getRelations() as $fk): $table = $fk->getTable(); $name = $table->getComponentName(); $alias = $this->table->getAlias($name); @@ -1094,7 +1094,7 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite */ final public function loadReference($name) { - $fk = $this->table->getForeignKey($name); + $fk = $this->table->getRelation($name); $table = $fk->getTable(); $local = $fk->getLocal(); @@ -1267,7 +1267,7 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite * @return integer */ public function countRelated($name) { - $rel = $this->table->getForeignKey($name); + $rel = $this->table->getRelation($name); $componentName = $rel->getTable()->getComponentName(); $alias = $rel->getTable()->getAlias(get_class($this)); $query = new Doctrine_Query(); diff --git a/Doctrine/Session.php b/Doctrine/Session.php index 3f19bf196..7062552d4 100644 --- a/Doctrine/Session.php +++ b/Doctrine/Session.php @@ -270,7 +270,7 @@ abstract class Doctrine_Session extends Doctrine_Configurable implements Countab //print "$k -- adding $nm...
"; } - $rels = $table->getForeignKeys(); + $rels = $table->getRelations(); // group relations @@ -715,7 +715,7 @@ abstract class Doctrine_Session extends Doctrine_Configurable implements Countab final public function saveRelated(Doctrine_Record $record) { $saveLater = array(); foreach($record->getReferences() as $k=>$v) { - $fk = $record->getTable()->getForeignKey($k); + $fk = $record->getTable()->getRelation($k); if($fk instanceof Doctrine_ForeignKey || $fk instanceof Doctrine_LocalKey) { switch($fk->getType()): @@ -849,7 +849,7 @@ abstract class Doctrine_Session extends Doctrine_Configurable implements Countab * @return void */ final public function deleteComposites(Doctrine_Record $record) { - foreach($record->getTable()->getForeignKeys() as $fk) { + foreach($record->getTable()->getRelations() as $fk) { switch($fk->getType()): case Doctrine_Relation::ONE_COMPOSITE: case Doctrine_Relation::MANY_COMPOSITE: diff --git a/Doctrine/Table.php b/Doctrine/Table.php index a053891d4..856482137 100644 --- a/Doctrine/Table.php +++ b/Doctrine/Table.php @@ -363,7 +363,7 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable { $name = $this->getComponentName(); foreach($this->bound as $k=>$a) { try { - $fk = $this->getForeignKey($k); + $fk = $this->getRelation($k); switch($fk->getType()): case Doctrine_Relation::ONE_COMPOSITE: case Doctrine_Relation::MANY_COMPOSITE: @@ -540,7 +540,7 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable { * @param string $name component name of which a foreign key object is bound * @return Doctrine_Relation */ - final public function getForeignKey($name) { + final public function getRelation($name) { $original = $name; if(isset($this->relations[$name])) @@ -624,10 +624,10 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable { * * @return array */ - final public function getForeignKeys() { + final public function getRelations() { $a = array(); foreach($this->bound as $k=>$v) { - $this->getForeignKey($k); + $this->getRelation($k); } return $this->relations; diff --git a/Doctrine/Validator.php b/Doctrine/Validator.php index 24b83060d..2fd13d814 100644 --- a/Doctrine/Validator.php +++ b/Doctrine/Validator.php @@ -158,14 +158,21 @@ class Doctrine_Validator { $err[$key] = Doctrine_Validator::ERR_LENGTH; continue; } + if( ! is_array($column[2])) + $e = explode("|",$column[2]); + else + $e = $column[2]; - $e = explode("|",$column[2]); foreach($e as $k => $arg) { if(empty($arg) || $arg == "primary" || $arg == "protected" || $arg == "autoincrement") continue; - $args = explode(":",$arg); + if( ! is_integer($k)) { + $args = $arg; + } else + $args = explode(":",$arg); + if( ! isset($args[1])) $args[1] = ''; diff --git a/tests/QueryTestCase.php b/tests/QueryTestCase.php index 08eedc3a8..25baade1e 100644 --- a/tests/QueryTestCase.php +++ b/tests/QueryTestCase.php @@ -874,14 +874,14 @@ class Doctrine_QueryTestCase extends Doctrine_UnitTestCase { $board = new Forum_Board(); $table = $board->getTable(); - $fk = $table->getForeignKey("Threads"); + $fk = $table->getRelation("Threads"); $this->assertEqual($table->getComponentName(), "Forum_Board"); $this->assertTrue($fk instanceof Doctrine_ForeignKey); $this->assertEqual($fk->getTable()->getComponentName(), "Forum_Thread"); $entry = new Forum_Entry(); - $this->assertTrue($entry->getTable()->getForeignKey("Thread") instanceof Doctrine_LocalKey); + $this->assertTrue($entry->getTable()->getRelation("Thread") instanceof Doctrine_LocalKey); $board->name = "Doctrine Forum"; diff --git a/tests/RecordTestCase.php b/tests/RecordTestCase.php index 57459041d..320f43cee 100644 --- a/tests/RecordTestCase.php +++ b/tests/RecordTestCase.php @@ -369,7 +369,7 @@ class Doctrine_RecordTestCase extends Doctrine_UnitTestCase { public function testTreeStructure() { $e = new Element(); - $fk = $e->getTable()->getForeignKey("Child"); + $fk = $e->getTable()->getRelation("Child"); $this->assertTrue($fk instanceof Doctrine_ForeignKey); $this->assertEqual($fk->getType(), Doctrine_Relation::MANY_AGGREGATE); $this->assertEqual($fk->getForeign(), "parent_id"); @@ -438,7 +438,7 @@ class Doctrine_RecordTestCase extends Doctrine_UnitTestCase { $this->assertEqual($e2->message, "user error2"); - $fk = $e->getTable()->getForeignKey("Description"); + $fk = $e->getTable()->getRelation("Description"); $this->assertTrue($fk instanceof Doctrine_ForeignKey); $this->assertEqual($fk->getLocal(),"file_md5"); $this->assertEqual($fk->getForeign(),"file_md5"); @@ -756,7 +756,7 @@ class Doctrine_RecordTestCase extends Doctrine_UnitTestCase { // ACCESSING ASSOCIATION OBJECT PROPERTIES $user = new User(); - $this->assertTrue($user->getTable()->getForeignKey("Groupuser") instanceof Doctrine_ForeignKey); + $this->assertTrue($user->getTable()->getRelation("Groupuser") instanceof Doctrine_ForeignKey); $this->assertTrue($user->Groupuser instanceof Doctrine_Collection); $this->assertTrue($user->Groupuser[0] instanceof Groupuser); diff --git a/tests/TableTestCase.php b/tests/TableTestCase.php index c612b6b0d..c22c2945d 100644 --- a/tests/TableTestCase.php +++ b/tests/TableTestCase.php @@ -9,14 +9,14 @@ class Doctrine_TableTestCase extends Doctrine_UnitTestCase { $table = $this->connection->getTable("User"); } public function testGetForeignKey() { - $fk = $this->objTable->getForeignKey("Group"); + $fk = $this->objTable->getRelation("Group"); $this->assertTrue($fk instanceof Doctrine_Association); $this->assertTrue($fk->getTable() instanceof Doctrine_Table); $this->assertTrue($fk->getType() == Doctrine_Relation::MANY_AGGREGATE); $this->assertTrue($fk->getLocal() == "user_id"); $this->assertTrue($fk->getForeign() == "group_id"); - $fk = $this->objTable->getForeignKey("Email"); + $fk = $this->objTable->getRelation("Email"); $this->assertTrue($fk instanceof Doctrine_LocalKey); $this->assertTrue($fk->getTable() instanceof Doctrine_Table); $this->assertTrue($fk->getType() == Doctrine_Relation::ONE_COMPOSITE); @@ -24,7 +24,7 @@ class Doctrine_TableTestCase extends Doctrine_UnitTestCase { $this->assertTrue($fk->getForeign() == $fk->getTable()->getIdentifier()); - $fk = $this->objTable->getForeignKey("Phonenumber"); + $fk = $this->objTable->getRelation("Phonenumber"); $this->assertTrue($fk instanceof Doctrine_ForeignKey); $this->assertTrue($fk->getTable() instanceof Doctrine_Table); $this->assertTrue($fk->getType() == Doctrine_Relation::MANY_COMPOSITE);