Есть код (на скрине), продукт. Согласно условию, если товар один из 3х типов, то на не него не применять акцию. Подобных мест несколько.
Как это возможно обойти?
В продукт положить полиморфный клас относительно типа, задача которого расчитать процент скидки?
Не знаю как пока по другому подойти к этому.
Вынеси в тот же app/Actions/ProductCanHasDiscountAction.php
Внутри экшна делаешь возврат true/false Потом что-то типа if(!ProductCanHasDiscountAction::handle($product)) { $salesPercent = 0 } А ещё лучше скомбинировать с return через тернарный оператор
А модели разные?
Как ещо один вариант, спасибо.
Нет, одна и та же.
Метод у модели, че не 😊
Изначально так думал, а потом такой, а вдруг есть ещо другой вариант.
Ну это по сути акцессор
Я бы так оставил.
У него драй
Обсуждают сегодня