$eventId, array $allowedTariffsIds)
но есть ещё EventId, к которому относятся и промокоды и тарифы
Tariff(EventId)
и нельзя разрешить, чтобы для промокодов с одним EventId были разрешены какие-либо тарифы с другим EventId.
И тут засада - нельзя проверить при создании промокода, что
$allowedTariffsIds
относятся именно к тому же
$eventId
без наличия объекта тарифа.
В общем я придумал только, что можно фабрику сделать и передавать туда объекты тарифов, чтобы можно было проверить, что
EventId
соответствует у объектов тарифа и промокода.
Ну то есть в любом случае ведь должен быть объект в таких ситуациях, чтобы проверить условия зависящие от стейта объекта (и удостовериться, что id-шка реальная а не выдуманная)?
Вот примерчик накидал
https://gist.github.com/Guuzen/878319089884369f871ac87e464c6839
Почему объект EventId? А не просто Event. Можно было бы event->getRates()
Обсуждают сегодня