[PHP] Relatie filteren.

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • ZeroXT
  • Registratie: December 2007
  • Laatst online: 22:43
Ik probeer een relatie te filteren met doctrine.

Elke game entity heeft een one to many relation naar game medium entity. Elke game entity kan dus meerdere game media entities hebben. Elke game medium entity is gekoppeld aan een user entity.

Ik probeer een game entity op te halen met alleen de game media entities van een opgegeven user. Ik krijg echter de game terug met alle game media van alle users.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
public function getByIdAndUser(int $gameId, User $user): ?Game
{
    $game = $this->createQueryBuilder('game')
            ->andWhere('game.id = :id')
            ->innerJoin('game.users', 'user', 'WITH', 'user = :user')
            ->setParameter('id', $gameId)
            ->setParameter('user', $user)
            ->getQuery()
            ->getOneOrNullResult();

    $game->getGameMedium()->toArray(); //Hier zit game media tussen welke niet van "$user" zijn.
}


Iemand een idee of mij een schopje in de goede richting wil geven? :)

Alle reacties


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 19:39

MueR

Admin Tweakers Discord

is niet lief

Kijk eens naar Doctrine Criteria ;)

edit:
offtopic:
Ik zou overigens die toArray() niet direct doen, tenzij je er een goede reden voor hebt. Collections zijn doorgaans een stuk praktischer juist omdat ze je alle fijne mogelijkheden van dingen als Criteria geven.

[ Voor 76% gewijzigd door MueR op 01-11-2021 19:08 ]

Anyone who gets in between me and my morning coffee should be insecure.