无法加入学说查询
Can not join in a doctrine query
所以我正在尝试在查询中进行连接,但学说通常会这样做,并且会抛回与断腿一样有用的错误。
任何人都可以告诉我这里哪里出错了。我收到的错误信息;调试:[语法错误] 第 0 行,列 -1:错误:应为 Doctrine\ORM\Query\Lexer::T_IDENTIFIER,已到达字符串结尾。在文件“./vendor/symfony/doctrine-bridge/Messenger/DoctrineTransactionMiddleware.php”第 64
行
评估实体
/**
* @var Candidate
* @ORM\ManyToOne(
* targetEntity="App\Domain\Candidate\Candidate",
* inversedBy="assessments")
* @ORM\JoinColumn(nullable=false)
*/
private $candidate;
候选实体
/**
* @var Assessment[]|Collection
* @ORM\OneToMany(
* targetEntity="App\Domain\Assessment\Assessment",
* mappedBy="candidate",
* cascade={"persist"})
* @ORM\JoinColumn(nullable=false)
*/
private $assessments;
学说查询
$qb = $this->entityManager->createQueryBuilder();
$qb->select('ca')
->from(Candidate::class, 'ca')
->innerJoin('ca.assessments', 'as');
您在联接中使用的别名是保留关键字 (as
)。
$qb->select('ca')
->from(Candidate::class, 'ca')
->innerJoin('ca.assessments', 'as'); // <-- change this alias
将您的连接中的 as
更改为其他内容。
所以我正在尝试在查询中进行连接,但学说通常会这样做,并且会抛回与断腿一样有用的错误。
任何人都可以告诉我这里哪里出错了。我收到的错误信息;调试:[语法错误] 第 0 行,列 -1:错误:应为 Doctrine\ORM\Query\Lexer::T_IDENTIFIER,已到达字符串结尾。在文件“./vendor/symfony/doctrine-bridge/Messenger/DoctrineTransactionMiddleware.php”第 64
行评估实体
/**
* @var Candidate
* @ORM\ManyToOne(
* targetEntity="App\Domain\Candidate\Candidate",
* inversedBy="assessments")
* @ORM\JoinColumn(nullable=false)
*/
private $candidate;
候选实体
/**
* @var Assessment[]|Collection
* @ORM\OneToMany(
* targetEntity="App\Domain\Assessment\Assessment",
* mappedBy="candidate",
* cascade={"persist"})
* @ORM\JoinColumn(nullable=false)
*/
private $assessments;
学说查询
$qb = $this->entityManager->createQueryBuilder();
$qb->select('ca')
->from(Candidate::class, 'ca')
->innerJoin('ca.assessments', 'as');
您在联接中使用的别名是保留关键字 (as
)。
$qb->select('ca')
->from(Candidate::class, 'ca')
->innerJoin('ca.assessments', 'as'); // <-- change this alias
将您的连接中的 as
更改为其他内容。