/** * Adds the attributes used to store objects that have referrer fkey relationships to this object. * <code>protected collVarName;</code> * <code>private lastVarNameCriteria = null;</code> * @param string &$script The script will be modified in this method. */ protected function addRefFKAttributes(&$script, ForeignKey $refFK) { $joinedTableObjectBuilder = $this->getNewObjectBuilder($refFK->getTable()); $className = $joinedTableObjectBuilder->getObjectClassname(); if ($refFK->isLocalPrimaryKey()) { $script .= "\n /**\n * @var {$className} one-to-one related {$className} object\n */\n protected \$" . $this->getPKRefFKVarName($refFK) . ";\n"; } else { $script .= "\n /**\n * @var array {$className}[] Collection to store aggregation of {$className} objects.\n */\n protected \$" . $this->getRefFKCollVarName($refFK) . ";\n"; } }
/** * Adds the attributes used to store objects that have referrer fkey relationships to this object. * <code>protected collVarName;</code> * <code>private lastVarNameCriteria = null;</code> * @param string &$script The script will be modified in this method. * @param ForeignKey $refFK */ protected function addRefFKAttributes(&$script, ForeignKey $refFK) { $className = $this->getClassNameFromTable($refFK->getTable()); if ($refFK->isLocalPrimaryKey()) { $script .= "\n /**\n * @var {$className} one-to-one related {$className} object\n */\n protected \$" . $this->getPKRefFKVarName($refFK) . ";\n"; } else { $script .= "\n /**\n * @var ObjectCollection|{$className}[] Collection to store aggregation of {$className} objects.\n */\n protected \$" . $this->getRefFKCollVarName($refFK) . ";\n protected \$" . $this->getRefFKCollVarName($refFK) . "Partial;\n"; } }
public function testForeignKeyIsLocalPrimaryKey() { $pks = [$this->getColumnMock('book_id'), $this->getColumnMock('author_id')]; $table = $this->getTableMock('books'); $table->expects($this->once())->method('getPrimaryKey')->will($this->returnValue($pks)); $fk = new ForeignKey(); $fk->setTable($table); $fk->addReference('book_id', 'id'); $fk->addReference('author_id', 'id'); $this->assertTrue($fk->isLocalPrimaryKey()); }