Doctrine 2 - ORM
  1. Doctrine 2 - ORM
  2. DDC-1069

setParameter[s]() examples on DQL page uses ":" even though that is not supported

    Details

    • Type: Documentation Documentation
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.0.2
    • Fix Version/s: 2.0.4
    • Component/s: ORM
    • Security Level: All
    • Labels:
      None

      Description

      http://www.doctrine-project.org/docs/orm/2.0/en/reference/dql-doctrine-query-language.html

      Among others:
      $query = $em->createQuery('SELECT u from ForumUser u WHERE (u.username = :name OR u.username = :name2) AND u.id = :id');
      $query->setParameters(array(
      ':name' => 'Bob',
      ':name2' => 'Alice',
      ':id' => 321,
      ));

      Despite this does not work and doc says "When referencing the parameters in Query#setParameter($param, $value) both named and positional parameters are used without their prefixies." on same page.
      (side note: prefixies => prefixes)

      Fresh on doctrine 2.0 you typically copy past examples to try out stuff, and when exception then says that ":id" is not a valid param on this query you end up not knowing what went wrong.

        Activity

        Hide
        Michael Ridgway added a comment -

        I posted a simple patch for this at https://github.com/doctrine/orm-documentation/pull/20

        Show
        Michael Ridgway added a comment - I posted a simple patch for this at https://github.com/doctrine/orm-documentation/pull/20
        Hide
        André R. added a comment -

        Looks good!

        Show
        André R. added a comment - Looks good!
        Hide
        Benjamin Eberlei added a comment -

        Resolved

        Show
        Benjamin Eberlei added a comment - Resolved
        Hide
        Christian Stoller added a comment -

        You can find the same error in the PHPDoc of the methods setParameter(...) and setParameters(..) in class Doctrine\ORM\QueryBuilder.

        * <code>
        *     $qb = $em->createQueryBuilder()
        *         ->select('u')
        *         ->from('User', 'u')
        *         ->where('u.id = :user_id')
        *         ->setParameter(':user_id', 1);
        * </code>
        

        It would be nice if this will be fixed, because it is confusing, if you look at the autocomplete notice of the IDEs.

        Show
        Christian Stoller added a comment - You can find the same error in the PHPDoc of the methods setParameter(...) and setParameters(..) in class Doctrine\ORM\QueryBuilder . * <code> * $qb = $em->createQueryBuilder() * ->select('u') * ->from('User', 'u') * ->where('u.id = :user_id') * ->setParameter(':user_id', 1); * </code> It would be nice if this will be fixed, because it is confusing, if you look at the autocomplete notice of the IDEs.

          People

          • Assignee:
            Benjamin Eberlei
            Reporter:
            André R.
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: