33 lines
1.1 KiB
PHP
33 lines
1.1 KiB
PHP
<?php namespace RVR\Repository;
|
|
|
|
use Generator;
|
|
use Container;
|
|
use RVR\PersistentData\Model\Community;
|
|
use RVR\PersistentData\Model\Currency;
|
|
use SokoWeb\Database\Query\Select;
|
|
|
|
class CurrencyRepository
|
|
{
|
|
public function getById(int $id): ?Currency
|
|
{
|
|
return \Container::$persistentDataManager->selectFromDbById($id, Currency::class);
|
|
}
|
|
|
|
public function getAllByCommunity(Community $community, bool $useRelations = false): Generator
|
|
{
|
|
$select = new Select(Container::$dbConnection);
|
|
$select->where('community_id', '=', $community->getId());
|
|
|
|
yield from Container::$persistentDataManager->selectMultipleFromDb($select, Currency::class, $useRelations);
|
|
}
|
|
|
|
public function getByCommunityAndCurrencyCode(Community $community, string $code): ?Currency
|
|
{
|
|
$select = new Select(Container::$dbConnection);
|
|
$select->where('community_id', '=', $community->getId());
|
|
$select->where('code', '=', $code);
|
|
|
|
return Container::$persistentDataManager->selectFromDb($select, Currency::class);
|
|
}
|
|
}
|