Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-1719

When tablename or field name contains an hyphen it generates an error

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.2
    • Fix Version/s: 2.3
    • Component/s: ORM
    • Security Level: All
    • Labels:
      None
    • Environment:
      PHP 5.3

      Description

      In my database I have a table with '-' (hyphen) in the names of the tables and fields. But when mapping using annotations you get a mysql error because it generates a query that is not conform the mysql syntax. When using a hyphen in field or tablename (or others) you have to place it between quotes.

      The name of the table can be resolved using quotes in the table name, in code it means:

      @Table(name="directory-file") to @Table(name="`directory-file`"), you can't use this solution with the in the fields because the alias (AS in mysql syntax) also contains a '-' . Which results in a mysql error.

      Failing code:

      /**

      • @author Laurens
      • @Entity
      • @Table(name="directory-file")
        */
        class Directory_File {

      /** @Id @Column(name="liddirectory-file",type="bigint") @GeneratedValue * */
      protected $liddirectory_file;
      }

        Activity

          People

          • Assignee:
            Fabio B. Silva
            Reporter:
            Laurens Coudeville
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: