使用DQL查询检索相关实体时的类定义错误

时间:2014-08-04 19:50:47

标签: symfony doctrine-orm dql

我正在尝试在Symfony应用程序中检索许多相关实体,如下所示:

$query = $em->createQuery(
   'SELECT i, c, prod, prov
    FROM MyBundle:CustomerItem i
    JOIN i.customer c
    JOIN i.product prod
    JOIN prod.provider prov
    JOIN');

执行时,我收到以下错误:

[Semantical Error] line 0, col -1 near 'SELECT i, c,': Error: Class '' is not defined.

属性customerproductprovider都作为表示基础实体关系的字段存在。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

使用查询构建器管理以使其工作:

    $query = $repo->createQueryBuilder('prov')
        ->select('c.id')
        ->innerJoin('prov.products', 'prod')
        ->innerJoin('prod.customerItems', 'ci')
        ->innerJoin('ci.customer', 'c')
        ->where('prov.id = :brand')
        ->getQuery();