【发布时间】:2020-12-24 01:45:43
【问题描述】:
我对 Symfony 2.7 中的左连接学说有疑问。
示例代码:
public function test($id, $offset, $limit)
{
$build = $this->createQueryBuilder('building');
$build
->addSelect('users', 'numbers')
->join('building.users', 'users')
// limit the numbers for 1 result!
->leftJoin('building.numbers', 'numbers') // only select 1 result instead of more.
->where('building.id = :id')
->setParameter('id', $id);
$paginator = new Paginator($build->getQuery(), $fetchJoinCollection = true);
$result = $paginator->getQuery()
->setFirstResult($offset)
->setMaxResults($limit)
->getResult();
return $result;
}
我现在的问题是我们如何实现 ->leftJoin('building.numbers', 'numbers') 只返回 MAX 1 个结果。
谢谢!
Doctrine orm:2.2.3,Symfony 版本:2.7
【问题讨论】:
-
“选择 1 个结果而不是更多”是什么意思?来自
numbers的任何条目都可以,或者是否有任何应考虑的顺序? -
我想将结果从数字限制为 1。@AlanT。
-
所以任何来自数字的条目都可以,您只想将结果集限制为单个条目?
-
是的,没关系,只需要单个条目@AlanT。
-
是什么样的联想?
ManyToOne归Number实体所有?
标签: php symfony doctrine-orm pagination doctrine-query