Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][Laravel]Pobranie nazwy z relacji belongsTo
Generic
post 9.02.2019, 10:52:23
Post #1





Grupa: Zarejestrowani
Postów: 224
Pomógł: 0
Dołączył: 31.10.2012

Ostrzeżenie: (10%)
X----


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:


Ten post edytował Generic 9.02.2019, 10:53:54
Go to the top of the page
+Quote Post
markonix
post 9.02.2019, 14:21:34
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


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'));


Ten post edytował markonix 9.02.2019, 14:24:24


--------------------
Go to the top of the page
+Quote Post
Generic
post 10.02.2019, 07:05:14
Post #3





Grupa: Zarejestrowani
Postów: 224
Pomógł: 0
Dołączył: 31.10.2012

Ostrzeżenie: (10%)
X----


@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.
Go to the top of the page
+Quote Post
markonix
post 10.02.2019, 13:53:20
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


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.

Ten post edytował markonix 10.02.2019, 13:54:08


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 14:27