Как правильно реализовать паттерн Репозиторий в Laravel?

Здравствуйте. Решил приобщиться к прекрасному и попробовать паттерн "Репозиторий".
И у меня есть некоторые мысли по его использованию, но необходимо, что бы кто-то сказал, "да, так и есть" или "Нет, ты фигню выдумываешь".

Я так понял, я создаю сначала интерфейс, а потом и сам объект репозитория, который имплементит этот интерфейс.

Реализовую необходимы методы для получени, создания, сохранения моделей.
В самих методах уже можно будет настроить доступность требуемых объектов с использование policies и так далее. То есть у меня одна точка в приложении, где я могу получить к ним доступ (или не получить).

Вопрос таков, для каждой сущности/модели необходимо делать отдельный репозиторий?
Может быть много разных репозиториев для одной и тойже сущности? И они ддолжны имплементить только один интерфейс или могут разные?
  • Вопрос задан
  • 883 просмотра
Пригласить эксперта
Ответы на вопрос 1
dmitriylanets
@dmitriylanets
веб-разработчик
$Criteria = (new Criteria())
->setWhere('name','test')
->setOrderBy('name');

$users = $userRepository->findAllByCriteria($Criteria);
$user = $userRepository->findById(1);
$user->setName('newname');
$userRepository->save($user);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы