Symfony 2:LIMIT doctrine LEFT JOIN [英] Symfony 2: LIMIT doctrine LEFT JOIN

查看:104
本文介绍了Symfony 2:LIMIT doctrine LEFT JOIN的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Symfony 2.7中有关于左连接的问题。



示例代码:



have a question about left join in doctrine in Symfony 2.7.

Example code:

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','数字')只返回MAX 1结果。



谢谢!



学说:2.2.3, Symfony版本:2.7



我尝试过:





My question now is how could we implement that the ->leftJoin('building.numbers', 'numbers') only return MAX 1 result.

Thanks!

Doctrine orm: 2.2.3, Symfony version: 2.7

What I have tried:

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;
}

推荐答案

id,


offset,


limit)
{
limit) {


这篇关于Symfony 2:LIMIT doctrine LEFT JOIN的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆