Size: a a a

2020 March 27

AZ

Alexander Zaplitniy in Laravel Pro
Репозитории, как организовать сохранения сущности?
1. Есть сущность Product
2. Есть сущноть Modification, хранит отдельные свойста, артикул, цвет, размер и тд.
Например в магазине продаем телефон, характеристики по железу и описание храним в сущности Product, разноводности цветов храним в модификациях.

Сущность Product имеет массив Modification, как правильно сохранить сущность Product?
1. Могу ли я в ProductRepository подключить ModificationRepository и в методе save сохранить сущность Product и в цикле пробежаться по массиву Product->Modification и сохранить модификации уже через ModificationRepository который подключили через dependency injection в наш класс ProductRepository.
2. Мне нужно создать сервисный слой, который будет заниматься сохранением товара.
В сервисный слой через DI я подключу ProductRepository и ModificationRepository и сохраню сущности по отдельности получается.

Как лучше?
источник

s

sheykvit in Laravel Pro
Alexander Zaplitniy
Репозитории, как организовать сохранения сущности?
1. Есть сущность Product
2. Есть сущноть Modification, хранит отдельные свойста, артикул, цвет, размер и тд.
Например в магазине продаем телефон, характеристики по железу и описание храним в сущности Product, разноводности цветов храним в модификациях.

Сущность Product имеет массив Modification, как правильно сохранить сущность Product?
1. Могу ли я в ProductRepository подключить ModificationRepository и в методе save сохранить сущность Product и в цикле пробежаться по массиву Product->Modification и сохранить модификации уже через ModificationRepository который подключили через dependency injection в наш класс ProductRepository.
2. Мне нужно создать сервисный слой, который будет заниматься сохранением товара.
В сервисный слой через DI я подключу ProductRepository и ModificationRepository и сохраню сущности по отдельности получается.

Как лучше?
А зачем вообще репы нужны? Создать relation в Product и сохранять.
источник

AZ

Alexander Zaplitniy in Laravel Pro
sheykvit
А зачем вообще репы нужны? Создать relation в Product и сохранять.
Без привязки к магии laravel
источник

s

sheykvit in Laravel Pro
Не пойму зачем усложнять простые вещи.
источник

MR

Maxim Rebitskiy in Laravel Pro
Alexander Zaplitniy
Без привязки к магии laravel
Ты и так к ней привязан, просто ты создаешь еще одну не нужную привязку, свою поверх
источник

s

sheykvit in Laravel Pro
Установи тогда доктрину и пользуйся ей.
источник

АЗ

Алихан Закиров... in Laravel Pro
Alexander Zaplitniy
Репозитории, как организовать сохранения сущности?
1. Есть сущность Product
2. Есть сущноть Modification, хранит отдельные свойста, артикул, цвет, размер и тд.
Например в магазине продаем телефон, характеристики по железу и описание храним в сущности Product, разноводности цветов храним в модификациях.

Сущность Product имеет массив Modification, как правильно сохранить сущность Product?
1. Могу ли я в ProductRepository подключить ModificationRepository и в методе save сохранить сущность Product и в цикле пробежаться по массиву Product->Modification и сохранить модификации уже через ModificationRepository который подключили через dependency injection в наш класс ProductRepository.
2. Мне нужно создать сервисный слой, который будет заниматься сохранением товара.
В сервисный слой через DI я подключу ProductRepository и ModificationRepository и сохраню сущности по отдельности получается.

Как лучше?
2 лучше очевидно
источник

AZ

Alexander Zaplitniy in Laravel Pro
sheykvit
Установи тогда доктрину и пользуйся ей.
Ну допустим мне нужна доктрина.
источник

AZ

Alexander Zaplitniy in Laravel Pro
Алихан Закиров
2 лучше очевидно
Вот ни в одном руководтве нету реальных примеров. Где есть множество джоинов и тд.
источник

AZ

Alexander Zaplitniy in Laravel Pro
Вот есть сущность товара, она составляется из Картинок, Отзывов, Модификаций и тд
На каждую сущность есть репозиторий.
Получается что все вместе мне нужно собирать тоже в сервисном слое?
источник

АЗ

Алихан Закиров... in Laravel Pro
Штука в том, что ты по сути наделяешь одни репозитории знаниями о других. Не понятно зачем, ты увеличиваешь связность этих сущностей. А так у тебя есть сервисный слой, который и отвечает за компоновку всего что нужно
источник

АЗ

Алихан Закиров... in Laravel Pro
Вообще это довольно криво ложиться в концепцию репозиториев, которые должны знать только о своем источнике данных
источник

АЗ

Алихан Закиров... in Laravel Pro
Завтра ты картинки переложишь  в апи, и что? Будешь в репах юзать клиенты к этому апи?
источник

AZ

Alexander Zaplitniy in Laravel Pro
Алихан Закиров
Штука в том, что ты по сути наделяешь одни репозитории знаниями о других. Не понятно зачем, ты увеличиваешь связность этих сущностей. А так у тебя есть сервисный слой, который и отвечает за компоновку всего что нужно
👍
источник

AZ

Alexander Zaplitniy in Laravel Pro
Алихан Закиров
Завтра ты картинки переложишь  в апи, и что? Будешь в репах юзать клиенты к этому апи?
Вы чертовски правы)
источник

A

Alex in Laravel Pro
Ребят подскажите плиз:
Есть просто контроллеры и есть api. По сути одни и теже методы выполняют. Для такого случая как раз подойдет репозиторий? Чтоб я с апи и с обычных контроллеров юзал крад?
источник

АЗ

Алихан Закиров... in Laravel Pro
Alex
Ребят подскажите плиз:
Есть просто контроллеры и есть api. По сути одни и теже методы выполняют. Для такого случая как раз подойдет репозиторий? Чтоб я с апи и с обычных контроллеров юзал крад?
Сервисным слоем попахивает
источник

A

Alex in Laravel Pro
Ага выносить логику в сервисы принято. А можешь скинуть про них инетерсных статей как правильно оформлять?
источник

АЗ

Алихан Закиров... in Laravel Pro
Я от репозиториев уже отказался. За много лет работы, их преимуществами не пришлось воспользоваться ни разу)
источник

АЗ

Алихан Закиров... in Laravel Pro
Alex
Ага выносить логику в сервисы принято. А можешь скинуть про них инетерсных статей как правильно оформлять?
Тыщщи их
источник