Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/RedBean/AssociationManager.php b/RedBean/AssociationManager.php
- index c14e98d..2de499d 100644
- --- a/RedBean/AssociationManager.php
- +++ b/RedBean/AssociationManager.php
- @@ -53,17 +53,21 @@ class RedBean_AssociationManager extends RedBean_CompatManager {
- * @param array $types
- * @return string $table
- */
- - public function getTable( $types ) {
- + public function getTable( $types, $name = null ) {
- sort($types);
- - return ( implode("_", $types) );
- + $tableName = implode("_", $types);
- + if ($name !== null) {
- + $tableName = "{$name}_$tableName";
- + }
- + return $tableName;
- }
- /**
- * Associates two beans with eachother.
- * @param RedBean_OODBBean $bean1
- * @param RedBean_OODBBean $bean2
- */
- - public function associate(RedBean_OODBBean $bean1, RedBean_OODBBean $bean2) {
- - $table = $this->getTable( array($bean1->getMeta("type") , $bean2->getMeta("type")) );
- + public function associate(RedBean_OODBBean $bean1, RedBean_OODBBean $bean2, $name = null) {
- + $table = $this->getTable( array($bean1->getMeta("type") , $bean2->getMeta("type")), $name );
- $bean = $this->oodb->dispense($table);
- return $this->associateBeans( $bean1, $bean2, $bean );
- }
- @@ -101,8 +105,8 @@ class RedBean_AssociationManager extends RedBean_CompatManager {
- * @param string $type
- * @return array $ids
- */
- - public function related( RedBean_OODBBean $bean, $type, $getLinks=false ) {
- - $table = $this->getTable( array($bean->getMeta("type") , $type) );
- + public function related( RedBean_OODBBean $bean, $type, $getLinks=false, $name = null ) {
- + $table = $this->getTable( array($bean->getMeta("type") , $type), $name );
- $idfield = $this->writer->getIDField($bean->getMeta("type"));
- if ($type==$bean->getMeta("type")) {// echo "<b>CROSS</b>";
- $type .= "2";
- @@ -149,10 +153,10 @@ class RedBean_AssociationManager extends RedBean_CompatManager {
- * @param RedBean_OODBBean $bean1
- * @param RedBean_OODBBean $bean2
- */
- - public function unassociate(RedBean_OODBBean $bean1, RedBean_OODBBean $bean2) {
- + public function unassociate(RedBean_OODBBean $bean1, RedBean_OODBBean $bean2, $name = null) {
- $this->oodb->store($bean1);
- $this->oodb->store($bean2);
- - $table = $this->getTable( array($bean1->getMeta("type") , $bean2->getMeta("type")) );
- + $table = $this->getTable( array($bean1->getMeta("type") , $bean2->getMeta("type")), $name );
- $idfield1 = $this->writer->getIDField($bean1->getMeta("type"));
- $idfield2 = $this->writer->getIDField($bean2->getMeta("type"));
- $type = $bean1->getMeta("type");
- @@ -183,9 +187,9 @@ class RedBean_AssociationManager extends RedBean_CompatManager {
- * @param RedBean_OODBBean $bean
- * @param string $type
- */
- - public function clearRelations(RedBean_OODBBean $bean, $type) {
- + public function clearRelations(RedBean_OODBBean $bean, $type, $name = null) {
- $this->oodb->store($bean);
- - $table = $this->getTable( array($bean->getMeta("type") , $type) );
- + $table = $this->getTable( array($bean->getMeta("type") , $type), $name );
- $idfield = $this->writer->getIDField($bean->getMeta("type"));
- if ($type==$bean->getMeta("type")) {
- $property2 = $type."2_id";
- @@ -226,4 +230,4 @@ class RedBean_AssociationManager extends RedBean_CompatManager {
- }
- }
- -}
- \ No newline at end of file
- +}
Advertisement
Add Comment
Please, Sign In to add comment