Guest User

Untitled

a guest
Jul 1st, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 3.29 KB | None | 0 0
  1. diff --git a/RedBean/AssociationManager.php b/RedBean/AssociationManager.php
  2. index c14e98d..2de499d 100644
  3. --- a/RedBean/AssociationManager.php
  4. +++ b/RedBean/AssociationManager.php
  5. @@ -53,17 +53,21 @@ class RedBean_AssociationManager extends RedBean_CompatManager {
  6.      * @param array $types
  7.      * @return string $table
  8.      */
  9. -   public function getTable( $types ) {
  10. +   public function getTable( $types, $name = null ) {
  11.         sort($types);
  12. -       return ( implode("_", $types) );
  13. +       $tableName = implode("_", $types);
  14. +       if ($name !== null) {
  15. +         $tableName = "{$name}_$tableName";
  16. +       }
  17. +       return $tableName;
  18.     }
  19.     /**
  20.      * Associates two beans with eachother.
  21.      * @param RedBean_OODBBean $bean1
  22.      * @param RedBean_OODBBean $bean2
  23.      */
  24. -   public function associate(RedBean_OODBBean $bean1, RedBean_OODBBean $bean2) {
  25. -       $table = $this->getTable( array($bean1->getMeta("type") , $bean2->getMeta("type")) );
  26. +   public function associate(RedBean_OODBBean $bean1, RedBean_OODBBean $bean2, $name = null) {
  27. +       $table = $this->getTable( array($bean1->getMeta("type") , $bean2->getMeta("type")), $name );
  28.         $bean = $this->oodb->dispense($table);
  29.         return $this->associateBeans( $bean1, $bean2, $bean );
  30.     }
  31. @@ -101,8 +105,8 @@ class RedBean_AssociationManager extends RedBean_CompatManager {
  32.      * @param string $type
  33.      * @return array $ids
  34.      */
  35. -   public function related( RedBean_OODBBean $bean, $type, $getLinks=false ) {
  36. -       $table = $this->getTable( array($bean->getMeta("type") , $type) );
  37. +   public function related( RedBean_OODBBean $bean, $type, $getLinks=false, $name = null ) {
  38. +       $table = $this->getTable( array($bean->getMeta("type") , $type), $name );
  39.         $idfield = $this->writer->getIDField($bean->getMeta("type"));
  40.         if ($type==$bean->getMeta("type")) {// echo "<b>CROSS</b>";
  41.             $type .= "2";
  42. @@ -149,10 +153,10 @@ class RedBean_AssociationManager extends RedBean_CompatManager {
  43.      * @param RedBean_OODBBean $bean1
  44.      * @param RedBean_OODBBean $bean2
  45.      */
  46. -   public function unassociate(RedBean_OODBBean $bean1, RedBean_OODBBean $bean2) {
  47. +   public function unassociate(RedBean_OODBBean $bean1, RedBean_OODBBean $bean2, $name = null) {
  48.         $this->oodb->store($bean1);
  49.         $this->oodb->store($bean2);
  50. -       $table = $this->getTable( array($bean1->getMeta("type") , $bean2->getMeta("type")) );
  51. +       $table = $this->getTable( array($bean1->getMeta("type") , $bean2->getMeta("type")), $name );
  52.         $idfield1 = $this->writer->getIDField($bean1->getMeta("type"));
  53.         $idfield2 = $this->writer->getIDField($bean2->getMeta("type"));
  54.         $type = $bean1->getMeta("type");
  55. @@ -183,9 +187,9 @@ class RedBean_AssociationManager extends RedBean_CompatManager {
  56.      * @param RedBean_OODBBean $bean
  57.      * @param string $type
  58.      */
  59. -   public function clearRelations(RedBean_OODBBean $bean, $type) {
  60. +   public function clearRelations(RedBean_OODBBean $bean, $type, $name = null) {
  61.         $this->oodb->store($bean);
  62. -       $table = $this->getTable( array($bean->getMeta("type") , $type) );
  63. +       $table = $this->getTable( array($bean->getMeta("type") , $type), $name );
  64.         $idfield = $this->writer->getIDField($bean->getMeta("type"));
  65.         if ($type==$bean->getMeta("type")) {
  66.             $property2 = $type."2_id";
  67. @@ -226,4 +230,4 @@ class RedBean_AssociationManager extends RedBean_CompatManager {
  68.         }
  69.     }
  70.  
  71. -}
  72. \ No newline at end of file
  73. +}
Advertisement
Add Comment
Please, Sign In to add comment