コード例 #1
0
 private function generateManyToManySetter(ManyToManyProperty $property)
 {
     $containerProp = $property->getEntity()->getPrimaryKey()->getName();
     $containedProp = Singleton::create("ServiceBuilder")->getEntity($property->getEntityName())->getPrimaryKey()->getName();
     $signature = "set" . ucfirst($property->getName()) . "(\${$containerProp}, \${$containedProp}s)";
     return "\tpublic function {$signature} {\n\t\t\$this->getPersistence()->{$signature};\n\t}\n\n";
 }
コード例 #2
0
 private function generateManyToManyFinder(ManyToManyProperty $property)
 {
     $columnName = $property->getMappingKey();
     $pkName = $property->getEntity()->getPrimaryKey()->getName();
     $mappedPkName = Singleton::create("ServiceBuilder")->getEntity($property->getEntityName())->getPrimaryKey()->getName();
     return "\tpublic function {$property->getFinderSignature()} {\n" . "\t\t\$rows = \$this->db->selectQuery(\"SELECT t.* FROM " . $property->getMappingTable() . " mapping,\".self::TABLE.\" t WHERE mapping.{$columnName}='\${$columnName}' " . "AND mapping.{$mappedPkName}=t.{$mappedPkName} LIMIT \$from,\$limit\")->getResult();\n" . "\t\treturn \$this->getAsObjects(\$rows);\n\t}\n\n";
 }
コード例 #3
0
ファイル: Entity.php プロジェクト: aeberh/php-movico
 public function addManyToManyProperty(ManyToManyProperty $property)
 {
     $property->setEntity($this);
     $this->manyToManyProperties[] = $property;
 }