【发布时间】:2013-12-10 16:06:29
【问题描述】:
这很好用
SELECT * FROM podcasttags
INNER JOIN podcast
ON podcasttags.podcastid = podcast.id
INNER JOIN tag
ON podcasttags.tagid = tag.id
但是当我尝试使用教义1 createQueryBuilder 时出现错误:
$queryBuilder = $this->db->createQueryBuilder()
->select('pt')
->from('podcasttags', 'pt')
->innerJoin('podcast p ON pt.podcastid = p.id')
->innerJoin('tag t ON pt.tagid = t.id');
$statement = $queryBuilder->execute();
$podcastData = $statement->fetchAll();
警告:缺少参数 2 Doctrine\DBAL\Query\QueryBuilder::innerJoin(),调用 C:\xampp\htdocs\FDRPodcast\src\FDRPodcast\Repository\PodcastRepository.php 在第 49 行并定义在 C:\xampp\htdocs\FDRPodcast\vendor\doctrine\dbal\lib\Doctrine\DBAL\Query\QueryBuilder.php 在第 601 行
警告:缺少参数 3 Doctrine\DBAL\Query\QueryBuilder::innerJoin(),调用 C:\xampp\htdocs\FDRPodcast\src\FDRPodcast\Repository\PodcastRepository.php 在第 49 行并定义在 C:\xampp\htdocs\FDRPodcast\vendor\doctrine\dbal\lib\Doctrine\DBAL\Query\QueryBuilder.php 在第 601 行
注意:未定义的变量:加入 C:\xampp\htdocs\FDRPodcast\vendor\doctrine\dbal\lib\Doctrine\DBAL\Query\QueryBuilder.php 在第 606 行
注意:未定义的变量:别名 C:\xampp\htdocs\FDRPodcast\vendor\doctrine\dbal\lib\Doctrine\DBAL\Query\QueryBuilder.php 在第 607 行
警告:缺少参数 2 Doctrine\DBAL\Query\QueryBuilder::innerJoin(),调用 C:\xampp\htdocs\FDRPodcast\src\FDRPodcast\Repository\PodcastRepository.php 在第 50 行并在 C:\xampp\htdocs\FDRPodcast\vendor\doctrine\dbal\lib\Doctrine\DBAL\Query\QueryBuilder.php 在第 601 行
警告:缺少参数 3 Doctrine\DBAL\Query\QueryBuilder::innerJoin(),调用 C:\xampp\htdocs\FDRPodcast\src\FDRPodcast\Repository\PodcastRepository.php 在第 50 行并在 C:\xampp\htdocs\FDRPodcast\vendor\doctrine\dbal\lib\Doctrine\DBAL\Query\QueryBuilder.php 在第 601 行
【问题讨论】:
-
参考doctrine manual 学说适用于不直接使用表的实体,并且偏离路线的 innerjoin() 调用是错误的