Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-776

Persisters use a fixed "SELECT" SQL statements

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 2.0-BETA3
    • Fix Version/s: None
    • Component/s: None
    • Security Level: All
    • Labels:
      None
    • Environment:
      Windows 7, Apache 2.2, MSSQL Server, PHP 5.3.3

      Description

      I am currently trying to work with BINARY columns with Doctrine 2 and MSSQL. In order to get my Entities working I had to create a custom Mapping Type for Binary columns. All went well in this case and I've got it running.

      The problem arises when I am attempting to use Associative mapping (OneToOne/ManyToMany). The problem is, in order to do a select for an SQL column, I had to create a DQL function called "CONVERT" so that I use WHERE statements:

      return $this->createQueryBuilder('u')
      ->where("u.id = CONVERT('binary', :id, 1)")
      ->setParameter('id', $id)
      ->getQuery()
      ->getSingleResult();

      As you see, I must do this in order to get a result.

      However, when I'm using associative mapping; this is what it does:

      return 'SELECT ' . $this->_getSelectColumnListSQL()
      . ' FROM ' . $this->_class->getQuotedTableName($this->_platform) . ' '
      . $this->_getSQLTableAlias($this->_class->name)
      . $joinSql
      . ($conditionSql ? ' WHERE ' . $conditionSql : '')
      . $orderBySql
      . $lockSql;

      As you can see, its some what hard coded and I cannot change it without changing the actual code in
      Doctrine\ORM\Persisters\BasicEntityPersister.php

      So, I would first like to know if there was maybe a way you could allow us to customize the SELECT statement that the persisters use - or maybe (though I'm not sure how this will be done) make them use user-defined repository functions?

      Like $myRepo->find($identifier)

      Not entirely sure if I explained this properly and I do realize my circumstance is highly odd - but this does seem like a limitation and because of this I cannot use associative mapping.

        Activity

          People

          • Assignee:
            Roman S. Borschel
            Reporter:
            Aaron DM
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated: