Я работаю над довольно простым сайтом для фотогалерей, пользователи имеют возможность голосовать за свою любимую фотографию в галерее. У меня есть настройки событий каждый раз, когда пользователь голосует, вызывается событие VoteCase, которое получает объект голосования.Laravel, должны ли события разговаривать с базой данных?
ГОЛОС объект состоит из ...
- PHOTOID
- voterID
событие получает объект голосов и отправляет владельцу фотографии и электронной почты, что их фото было выбрано. Для отправки электронной почты существует отдельный класс AppMailer.php.
Мой вопрос, очевидно, мне нужно, чтобы сделать поиск, чтобы увидеть, кто фото принадлежит (у меня уже есть красноречивое отношение к этому ($photo->user;
)
Но что работа мероприятия? Для того, чтобы сделать вызов базы данных и получение объекта пользователя для перехода к AppMailer? Или должен ли класс AppMailer получать все событие и выполнять сам поиск пользователя?
Существует еще несколько событий, связанных с голосованием. с правом голоса для голосования и, возможно, с присвоением «значка» и т. д. Каждый из них может иметь дополнительные поисковые запросы БД. Поэтому знание лучшего места для его использования полезно.
Мне сказали, что событие очень похоже на DTO, но моего опыта с ними не существует.
Yup ShouldQueue будет реализован перед тем, как отправиться жить! – dangel