везде, где делаешь $order->price надо делать $orderService->calculatePriceByUser($order, $user)
Но в качестве простого грязного решения сойдёт и твоё. У него один минус - у него неявная зависимость от $user . В сервисе явная, туда можно подать любого пользователя, не только залогиненного. Профит - оно тестируется. Но если ты не тестируешь, то и твой вариант норм.
везде, где делаешь $order->price надо делать $orderService->calculatePriceByUser($order, $user)
Но в качестве простого грязного решения сойдёт и твоё. У него один минус - у него неявная зависимость от $user . В сервисе явная, туда можно подать любого пользователя, не только залогиненного. Профит - оно тестируется. Но если ты не тестируешь, то и твой вариант норм.
Ещё Профит что любой админ может узнать цену для любого юзера, например
везде, где делаешь $order->price надо делать $orderService->calculatePriceByUser($order, $user)
Но в качестве простого грязного решения сойдёт и твоё. У него один минус - у него неявная зависимость от $user . В сервисе явная, туда можно подать любого пользователя, не только залогиненного. Профит - оно тестируется. Но если ты не тестируешь, то и твой вариант норм.
Call to a member function comments() on null - тут про таблицу не слова. Если перевести, тут написано что вызывается метод ->comments() у null . Т.е. в $post у тебя null , а не пост.
да сорри, забыл что минут пять назад ресетнул миграции, разобрался спс
А почему именно в модели ? Смысл как раз отвязать модель от того, чтобы она расчитывала цену для залогиненного юзера. Сделай как я предлагал выше, метод в модели calculatePrice($user), если хочешь всё в модели делать.