Я не могу понять, как правильно реализовать по DDD связанные репозитории. Ниже синтетический пример, мне приходится писать два запроса к БД, тогда как можно было бы ограничится одним?
Если бы связь была бы многие-ко-многим, то необходимо(как верно?) писать еще и репозиторий для связи user_roles?
Например:
Class UserRepository
{
public function findOne($id)
{
..... $sql_query...
$query = "select *, role_id from users where user_id = :id";
}
}
Class RoleRepository
{
public function findOne($id)
{
$query = "select * from roles where role_id = :id";
}
}
Class UserService
{
public function getUser($id)
{
$user = $this->userRepository->findOne($id);
$role = $this->roleRepository->findOne($user['role_id']);
$data = new User($user);
$data->setRole($role);
return $data;
}
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники