How to write a DQL select statement to search some, but not all the entities in a single table inheritance table

前端 未结 3 640
野的像风
野的像风 2021-02-01 08:16

So I have 3 entities within one table. I need to be able to search 2 out of the 3 entities in one select statement, but I\'m not sure how to do this.

3条回答
  •  野性不改
    2021-02-01 08:53

    Use the INSTANCE OF operator in your dql query like this (where User is your base class):

    $em->createQuery('
        SELECT u 
        FROM Entity\User u 
        WHERE (u INSTANCE OF Entity\Manager OR u INSTANCE OF Entity\Customer)
    ');
    

    Doctrine translates this in the sql query in a WHERE user.type = '...' condition.

    See here for more details on the dql query syntax.

提交回复
热议问题