学说 PHP 已经定义
Doctrine PHP is already defined
我对原则内连接有疑问。
$request = $em->getRepository('FYPFYPDesignBundle:SessionDesign');
$qb = $request->createQueryBuilder('SessionDesign');
$query = $qb
->select('SessionDesign.sessionID', 'SessionDesign.created','fos_user.username', 'fos_user.email', 'fos_user.fcid')
->from('FYPUserBundle:User', 'fos_user')
->innerJoin('fos_user.fcid', 'fos_user', 'ON', 'SessionDesign.sessionID = fos_user.fcid')
->where('fos_user.emailok = true')
->getQuery();
$result = $query->getResult();
它给我的错误是:
[Doctrine\ORM\Query\QueryException]
[Semantical Error] line 0, col 218 near 'fos_user ON SessionDesign.sessionID': Error: 'fos_user' is already defined.
您不能在查询生成器中使用两次别名。
变化:
->from('FYPUserBundle:User', 'fos_user')
->innerJoin('fos_user.fcid', 'fos_user', 'ON', 'SessionDesign.sessionID = fos_user.fcid')
收件人:
->from('FYPUserBundle:User', 'fos_user')
->innerJoin('fos_user.fcid', 'fcid', 'ON', 'SessionDesign.sessionID = fos_user.fcid')
假设 fcid 是您要加入的实体。
注意我不确定为什么你正在做你正在做的事情,但这就是导致错误的原因。
编辑以获取更多信息。
如果在没有学说实体关系的情况下加入 sessiondesign(看起来这就是您正在做的事情):
->join('YourBundle:SessionDesign', 's', 'WITH', 's.sessionID = fos_user.fcid')
我对原则内连接有疑问。
$request = $em->getRepository('FYPFYPDesignBundle:SessionDesign');
$qb = $request->createQueryBuilder('SessionDesign');
$query = $qb
->select('SessionDesign.sessionID', 'SessionDesign.created','fos_user.username', 'fos_user.email', 'fos_user.fcid')
->from('FYPUserBundle:User', 'fos_user')
->innerJoin('fos_user.fcid', 'fos_user', 'ON', 'SessionDesign.sessionID = fos_user.fcid')
->where('fos_user.emailok = true')
->getQuery();
$result = $query->getResult();
它给我的错误是:
[Doctrine\ORM\Query\QueryException]
[Semantical Error] line 0, col 218 near 'fos_user ON SessionDesign.sessionID': Error: 'fos_user' is already defined.
您不能在查询生成器中使用两次别名。
变化:
->from('FYPUserBundle:User', 'fos_user')
->innerJoin('fos_user.fcid', 'fos_user', 'ON', 'SessionDesign.sessionID = fos_user.fcid')
收件人:
->from('FYPUserBundle:User', 'fos_user')
->innerJoin('fos_user.fcid', 'fcid', 'ON', 'SessionDesign.sessionID = fos_user.fcid')
假设 fcid 是您要加入的实体。
注意我不确定为什么你正在做你正在做的事情,但这就是导致错误的原因。
编辑以获取更多信息。
如果在没有学说实体关系的情况下加入 sessiondesign(看起来这就是您正在做的事情):
->join('YourBundle:SessionDesign', 's', 'WITH', 's.sessionID = fos_user.fcid')