나는 Symfony와 교리/mongodb로 시작하고있다. 나는 집계 쿼리를 할 노력하고있어,하지만 난symfony에서 doctrine/mongodb를 사용하여 집계 쿼리를 작성하는 방법은 무엇입니까?
를 얻을이 같은 뭔가 클래스의 "createAggregationBuilder"라는 정의되지 않은 방법 "교리 \ ODM \ MongoDB를 \ DocumentManager"
전화를 시도 : 모든 문서 또는 유래 질문에 대한 답변을
$dm->createAggregationQuery();
시작부터
<?php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class TestController extends Controller
{
/**
* @Route("/test", name="test")
*/
public function testAction(Request $request) {
$builder = $this->get('doctrine_mongodb')
->getManager()
->createAggregationQuery('AppBundle:Test');
var_dump($builder);
}
}
나는 지금 매우 실망이야
이 경우 $dm
이 무엇을 의미하는지 알 수 없습니다.
정말 도움이 되었으면합니다.
UPDATE
나는 교리/MongoDB를-ODM 소스 코드를 둘러보고 있었고, 난 내 버전은DocumentRepository.php
과
DocumentManager.php
파일 (양쪽에 위치한 두에서
createAggregationBuilder
기능이없는 것을 발견
이 할 수있는 방법을 /vendor/doctrine/mongodb-odm/lib/Doctrine/MongoDB
폴더.
?
내가 작곡가 의미는 내가 어떤 버전 1.1.6을 말한다 최신 릴리스 및 git repo에서 나는이 방법을 참조하십시오 (DocumentRepository.php, DocumentManager.php)
아마도 [Doctrine Docs : Aggregation Builder] (http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/aggregation-builder.html)가 도움이 될 수 있습니다. '$ dm'은 아마도 대부분의 예제에서 DocumentManager 인스턴스 일 것입니다. – ccKep
답변 주셔서 감사하지만 모든 예제가 거기에 시작 :'$ builder = $ dm-> createAggregationBuilder (\ Documents \ User :: class);' 그래서 어떻게 DocumentManager 클래스를 인스턴스화 할 수 있습니까? 그게'$ this-> get ('doctrine_mongodb') -> getManager()가했던 것입니다. 그것은 아마도 교리 방법에 대해 충분히 알지 못하는 나다. –
@ccKep 내 검사 코드를 수정 해 주시면 도움이 될 것입니다. –