Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-648

Custom mapping types for multiple DB columns

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Security Level: All
    • Labels:
      None

      Description

      Hello,

      In current custom mapping types implementation there is a limit that it maps one entity property to just one database column.

      It would be great to be able to map one entity property do multiple database columns. It would make custom mapping types much more useful and elegant!

      FOR EXAMPLE in my application I have a simple class for geo coordinates:

      class Point
      (
      ...
      public function getLatitude() ...
      public function getLongitude() ...
      public function setLatitude($latitude) ...
      public function setLongitude($latitude) ...
      ....
      )

      And I have an entity that besides all other properties has a point:

      /** @entity */
      class Poi
      {
      /**

      • @column(type='foobar')
      • @var Point
        */
        private $point;

      public function getPoint()

      { return $this->point; }

      public function setPoint(Point $point)

      { $this->point = $point; }

      }

      And database structure is something like this:

      CREATE TABLE poi (
      ...
      latitude FLOAT,
      longitude FLOAT,
      ...
      );

      Advanced custom mapping types should be able to map my Point instance from entity property $point to both latitude and longitude columns in database and vice versa.

      Yes, I can do it in some complicated way with @prePersist, @preUpdate... events, but use of custom mapping types is much more natural, elegant, transparent and reusable...

      Is there a chance for rapid change of how custom mapping types act?

      Thanks, Jan

        Issue Links

          Activity

          Hide
          Benjamin Eberlei added a comment -

          Duplicate of DDC-93

          Show
          Benjamin Eberlei added a comment - Duplicate of DDC-93
          Hide
          Benjamin Eberlei added a comment -

          A related Github Pull-Request [GH-265] was
          https://github.com/doctrine/doctrine2/pull/265

          Show
          Benjamin Eberlei added a comment - A related Github Pull-Request [GH-265] was https://github.com/doctrine/doctrine2/pull/265

            People

            • Assignee:
              Roman S. Borschel
              Reporter:
              Jan Tichý
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: