MAPG-235 queries with relations on any recursion level implemented
This commit is contained in:
1 parent
21e41b7c36
commit
44df94eb98
6 files changed
+102
-26
No files matched your search
@@ -53,11 +53,11 @@ class GuessRepository
|
||||
public function getAllInChallenge(Challenge $challenge): Generator
|
||||
{
|
||||
$select = new Select(\Container::$dbConnection);
|
||||
$select->innerJoin('place_in_challenge', ['guesses', 'place_in_challenge_id'], '=', ['place_in_challenge', 'id']);
|
||||
// $select->innerJoin('place_in_challenge', ['guesses', 'place_in_challenge_id'], '=', ['place_in_challenge', 'id']);
|
||||
$select->where('challenge_id', '=', $challenge->getId());
|
||||
$select->orderBy('order');
|
||||
|
||||
yield from $this->pdm->selectMultipleFromDb($select, Guess::class);
|
||||
yield from $this->pdm->selectMultipleFromDb($select, Guess::class, true);
|
||||
}
|
||||
|
||||
public function getAllInChallengeByRound(int $round, Challenge $challenge): Generator
|
||||
|
||||
@@ -198,5 +198,14 @@ class PlaceRepository
|
||||
|
||||
yield from $this->pdm->selectMultipleFromDb($select, Place::class);
|
||||
}
|
||||
|
||||
public function getByIdWithMap(int $placeId): ?Place
|
||||
{
|
||||
$select = new Select(\Container::$dbConnection);
|
||||
// $select->innerJoin('maps', ['maps', 'id'], '=', ['places', 'map_id']);
|
||||
$select->where(['places', 'id'], '=', $placeId);
|
||||
|
||||
return $this->pdm->selectFromDb($select, Place::class, true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -41,6 +41,17 @@ class UserInChallengeRepository
|
||||
return $this->pdm->selectFromDb($select, UserInChallenge::class);
|
||||
}
|
||||
|
||||
public function getByUserIdAndToken(int $userId, string $token_str): ?UserInChallenge
|
||||
{
|
||||
$token = hexdec($token_str);
|
||||
|
||||
$select = new Select(\Container::$dbConnection);
|
||||
$select->where('user_id', '=', $userId);
|
||||
$select->where('token', '=', $token);
|
||||
|
||||
return $this->pdm->selectFromDb($select, UserInChallenge::class, true);
|
||||
}
|
||||
|
||||
public function isUserParticipatingInChallenge(int $userId, Challenge $challenge): bool
|
||||
{
|
||||
$select = new Select(\Container::$dbConnection, 'user_in_challenge');
|
||||
|
||||
Reference in new issue
Block a user