Size: a a a

2019 November 24

L

Loot.jpg in Laravel Pro
DK
сделал бы лучше? :D
Не, я слишком стар, чтобы спорить в чатах
источник

AP

Artem Prosvetov in Laravel Pro
Art
Ну, если на Ютубе  полно роликов где бизнес логика в контроллерах то о чем вообще можно говорить)
Ну отсюда можно сделать вывод, что в Ютубе полно говна)
источник

A

Art in Laravel Pro
Artem Prosvetov
Ну отсюда можно сделать вывод, что в Ютубе полно говна)
Если это не Несмеянов и Елисеев то можно вообще удалять этот мусор  с ютуба...
источник

S

Shotty in Laravel Pro
Егор Карась
В модели этого мусора быть точно не должно.
В контроллер, а если его засрёшь — в сервисы
а как в сервисах сделать это?
источник

M

Michael in Laravel Pro
Shotty
а как в сервисах сделать это?
везде, где делаешь $order->price надо делать $orderService->calculatePriceByUser($order, $user)

Но в качестве простого грязного решения сойдёт и твоё. У него один минус - у него неявная зависимость от $user . В сервисе явная, туда можно подать любого пользователя, не только залогиненного. Профит - оно тестируется. Но если ты не тестируешь, то и твой вариант норм.
источник

M

Michael in Laravel Pro
С сервисами, если ты передаёшь данные на фронт в виде json, надо ещё заморачиваться с гидрацией его вот этой вот ценой. Много головняка.
источник

ЕП

Евгений Перин ⭐️... in Laravel Pro
Michael
везде, где делаешь $order->price надо делать $orderService->calculatePriceByUser($order, $user)

Но в качестве простого грязного решения сойдёт и твоё. У него один минус - у него неявная зависимость от $user . В сервисе явная, туда можно подать любого пользователя, не только залогиненного. Профит - оно тестируется. Но если ты не тестируешь, то и твой вариант норм.
Ещё Профит что любой админ может узнать цену для любого юзера, например
источник

S

Shotty in Laravel Pro
Michael
везде, где делаешь $order->price надо делать $orderService->calculatePriceByUser($order, $user)

Но в качестве простого грязного решения сойдёт и твоё. У него один минус - у него неявная зависимость от $user . В сервисе явная, туда можно подать любого пользователя, не только залогиненного. Профит - оно тестируется. Но если ты не тестируешь, то и твой вариант норм.
а есть пример как это сделать в сервисе?
источник

D

DK in Laravel Pro
источник

🎃

🎃 Даниил ◠‿◠✿... in Laravel Pro
Shotty
а есть пример как это сделать в сервисе?
с помощью php
источник

🎃

🎃 Даниил ◠‿◠✿... in Laravel Pro
чем тебе мало ордера и юзера
источник

M

Michael in Laravel Pro
Евгений Перин ⭐️
Ещё Профит что любой админ может узнать цену для любого юзера, например
да, ты прав, поэтому в простом решении лучше переименовать геттер в getPriceForLoggedUserAttribute и сделать метод в модели calculatePrice($user)
источник

M

Michael in Laravel Pro
Shotty
а есть пример как это сделать в сервисе?
Так я же написал.
источник

M

Michael in Laravel Pro
Сервис - это обычный php-класс
Создаёшь его где угодно, вызываешь в контроллере например или где там нужно цену считать
источник

S

Shotty in Laravel Pro
Michael
Сервис - это обычный php-класс
Создаёшь его где угодно, вызываешь в контроллере например или где там нужно цену считать
в контроллере не подойдет, нужно в модели
источник

V

Vyacheslav in Laravel Pro
Так во второй и 3 строке фигня
источник

AB

Alex Bowey in Laravel Pro
Michael
Call to a member function comments() on null - тут про таблицу не слова. Если перевести, тут написано что вызывается метод ->comments() у null . Т.е. в $post у тебя null , а не пост.
да сорри, забыл что минут пять назад ресетнул миграции, разобрался спс
источник

AP

Alexander Pavlenko 🌚... in Laravel Pro
Michael
С сервисами, если ты передаёшь данные на фронт в виде json, надо ещё заморачиваться с гидрацией его вот этой вот ценой. Много головняка.
Гидрацию можно делать в другом месте
источник

AP

Alexander Pavlenko 🌚... in Laravel Pro
Тут уже вкусовщина
источник

M

Michael in Laravel Pro
А почему именно в модели ? Смысл как раз отвязать модель от того, чтобы она расчитывала цену для залогиненного юзера. Сделай как я предлагал выше, метод в модели calculatePrice($user), если хочешь всё в модели делать.
источник