【问题标题】:Doctrine2 Query builder problem with likeDoctrine2 查询生成器问题与like
【发布时间】:2011-08-04 19:50:03
【问题描述】:

我在我的学说 2 查询中使用它,但它不起作用

  $obj_query_builder->select('p')
   ->from('General\Domain\Product', 'p')
   ->where('p.cach_all_stop_words LIKE ?', '%avond%');

一定是这个查询:

SELECT * FROM `product` WHERE `cach_all_stop_words` LIKE '%avond%'

但我认为我的查询中有错误

【问题讨论】:

    标签: sql doctrine-orm


    【解决方案1】:

    http://www.doctrine-project.org/docs/orm/2.0/en/reference/query-builder.html 中定义的 Doctrine 2 中的 QueryBuilder 语法与您在查询中使用的语法略有不同。

    你能试试这个查询吗:

    $obj_query_builder->add('select', 'p')
      ->add('from', 'General\Domain\Product p')
      ->add('where', 'p.cach_all_stop_words LIKE ?1')
      ->setParameter(1, '%avond%')
    

    您还可以在我上面发布的链接中查看其他示例。

    编辑:我在下面的“帮助方法”页面中看到您的语法也应该有效。试试我上面写的查询。

    【讨论】:

      【解决方案2】:
      $qb = $this->getEntityManager()->createQueryBuilder();
      $qb -> select('p')
          ->from('General\Domain\Product' , 'p')
          ->where($qb->expr()->like('p.cach_all_stop_words', $qb->expr()->literal('%avond%')));
      
      $query = $qb->getQuery();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-06
        • 2012-10-05
        • 2018-11-16
        • 2015-07-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-29
        相关资源
        最近更新 更多