简体   繁体   中英

doctrine query builder select from table which is not entity table

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?

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM