Laravel, proste obliczenie w kontrolerze przed dodaniem do bazy

Laravel, proste obliczenie w kontrolerze przed dodaniem do bazy
M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 362
0

Witam, jak w Laravelu, przed dodaniem do bazy zrobić małe obliczenie

Mam taki uproszczony kod:

Kopiuj
public function store( BuyRequest $request){
        $buy = new Buy;
        $buy -> id_user = $request -> id_user;
        $buy -> id_product = $request -> id_product;
        $buy -> title = $request -> title;
        $buy -> price = $request -> price;
        $buy -> shipp = $request -> shipp;
        $buy -> total_price = ....
        $buy -> save();
        return redirect(url('bought', $buy -> id));
    }

W do kolumny total_price chcę dodać cenę która będzie wynikiem iloczynu ceny i ilości + wysyłkę
ilość * price + shipp
Jak można to osiągnąć?

czysteskarpety
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Piwnica
  • Postów: 7697
0

najlepiej umieścić pobrane wartości w zmiennych potem wykonać obliczenia i przekazać je do zapisania

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
1
  1. Możesz wykorzystać obserwator.
  2. Możesz nadpisać metodę save (lecz lepiej jest w takim wypadku utworzyć repozytorium).
M2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 362
0

OK, ogarnąłem jak to policzyć jednak mam problem logiczny, może ktoś z Was będzie wiedział.
Mam widok który wyświetla dany produkt, przekazuję mu dane z tabeli produktów, do wyświetlenia jego konkretnych danych i z tabeli wysyłki, do wyświetlenia opcji wysyłki. Opcję wysyłki wyświetlam w taki sposób:

Kopiuj
@foreach( $shipp as $shipp )
           <option>{{ $shipp -> title }} ( {{ $shipp -> price }} zł )</option>
@endforeach

Selektem, w opcji jest nazwa i w nawiasie cena danej opcji wysyłki. Do obliczeń potrzebuję ceny wybranej opcji i teraz w jaki sposób "wyciągnąć" cenę wybranej opcji tak abym dalej mógł ją przekazać do kontrolera lub dodać do bazy?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.