Репозитории по DDD

137
28 ноября 2019, 22:10

Я не могу понять, как правильно реализовать по 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;
    }
}
READ ALSO
пишем на php cli

пишем на php cli

Добрый вечер

146
Почему компилятор выдаёт ошибку (T_VARIABLES) PHP

Почему компилятор выдаёт ошибку (T_VARIABLES) PHP

Что здесь синтаксически неправильно? Ругается на строчку где добавляется $_GET['label'];

111
Обновление части странички в ajax

Обновление части странички в ajax

Как организовать автоматическое обновление (через 5-10 сек) части странички

129