dqcwl02022 2017-04-21 09:14
浏览 31
已采纳

doctrine查询构建器从不是实体表的表中选择

I am struggling to find a way to use query builder to select data from a table which is not a table of some entity. method ->from() takes only class name (entity name) as a parameter. something like:

$qb->select('t.id')
   ->from('table_not_entity_name')
   ->andWhere('t.isActive = :isActive')
   ->setParameter('isActive', 1);

I also need to join a table of entity to an another table.

$qb->select('category.id')
    ->join("t.table_name", 'category')
    ->distinct();

Is there a way?

  • 写回答

1条回答 默认 最新

  • douan9541 2017-04-21 12:48
    关注

    Not with DQL, you can use NativeQuery.

    The comment in function 'from()' at QueryBuilder class says that:

    Creates and adds a query root corresponding to the entity identified by the given alias, forming a cartesian product with any existing query roots.

    Is specific for an entity.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?