Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][Laravel]Pobranie nazwy z relacji belongsTo
Forum PHP.pl > Forum > Przedszkole
Generic
Witam. Zacząłem pisać prostą wyszukiwarkę zamówień, żeby sprawdzić jakie produkty zostały zamówione przez klienta. Struktura bazy danych wygląda jak na obrazku poniżej. Wszystko działa tak jak tego oczekiwałem jednak chciałbym, aby zamiast id produktu wyświetlała się jego nazwa. Czy ktoś mógłby mi podpowiedzieć jak mogę dostać się do informacji o produkcie na podstawie danych, które otrzymuje z tabeli zamówienia. Moja relacja wygląda następująco:
  1. //Relacja
  2. public function zamowienia_kleinta() {
  3. zamowienia::belongsTo('zamowienia_klienta', 'id', 'zamowienie_id');
  4. }
  5.  
  6. //Pobranie danych
  7. zamowienia::with('zamowienia_klienta')->where('id', $request->get('id_zamowienia'))->get();


Struktura bazy danych:
markonix
1) Masz literówkę
2) Język polski w kodzie...
3) Po co pivot pomiędzy klientem, a zamówieniem? Czemu w orders (już podaje prawidłowe nazwy relacji, które liczę, że poprawisz) nie dasz po prostu kolumny client_id z kluczem obcym do clients?
4) Kiepsko korzystasz z API Eloquenta..
5) Nie stosujesz prawidłowych konwencji.
6) Brakuje tu modelu/tabeli dla predefiniowanych produktów.

  1. dd(Order::find($request->get('order_id'))->items->pluck('name'));
Generic
@markonix dzięki za pomoc. stworzyłem tego pivota z myślą o przechowywaniu unikatowego id zamówienia który będzie autoikrementowany od 1 do nieskonczonosci (zachowanie identyczne jak w przypadku kolumn id tabel). W sytuacji, kiedy uzytkownik zamawia kilka rzeczy, powstaje wiele rekordów w tabeli zamówienia o różnych identyfikatorach. Próbowałem dodać tam dodatkową kolumnę łącząca zamówione przedmioty w jedno zamówienie, ale występowały tam problemy z poprawną numeracją. Dlatego zdecydowałem się stworzyć ten pivot, który jest najbardziej bliski rozwiązaniu, którego oczekiwałem. Jeżeli źle kombinuję proszę poprawcie mnie.
markonix
Cytat(Generic @ 10.02.2019, 07:05:14 ) *
Jeżeli źle kombinuję proszę poprawcie mnie.

Zrobiłem to wyżej.

Zamówienie to pojedynczy obiekt, który ma wiele pozycji.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.