Wie man außen-repository in mein repository, in Doctrine2/Symfony2?
Brauche ich Werte aus 2 verschiedenen Einheiten. Ich weiß nicht, wie zu tun ist.
Ich habe versucht, diese so weit:
<?php
namespace Pond\GeolocBundle\Entity;
use Doctrine\ORM\EntityRepository;
/**
* PondLakeRepository
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class PondLakeRepository extends EntityRepository
{
public function getSwimsAvailableById($id)
{
//get the nb of swims of a lake
$lake = $this->findOneById($id);
$swims = $lake->getSwims();
$repository = $this->getDoctrine()
->getManager()
->getRepository('PondGeolocBundle:User_Lake');
//get the nb of users in a lake
$qb = $this->_em->createQueryBuilder();
$qb->select('count(a.id)');
$qb->from('PondGeolocBundle:User_Lake', 'a');
$nbOfUsers = $qb->getQuery()->getSingleScalarResult();
//return the nb of swims available onthis lake
$avail = $swims - $nbOfUsers;
print_r ($avail);
}
}
Funktioniert nicht
Bitte helfen Sie.
Dank
InformationsquelleAutor der Frage Miles M. | 2013-03-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie den Zugriff auf die
EntityManager
durch den AufrufDoctrine\ORM\EntityRepository#getEntityManager()
:InformationsquelleAutor der Antwort Sgoettschkes
Wenn du mehr wie zu injizieren Abhängigkeiten, erklären sich mit den repositories wie Dienstleistungen, so können Sie Spritzen zu benutzen ist es im inneren des anderen:
Dienstleistungen.yml
in PondLakeRepository.php Sie müssen einen setter (setUserLakeRepository) , eine Eigenschaft, die zum speichern der repository (d.h. $userLakeRepository).
InformationsquelleAutor der Antwort marcostvz