Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][Laravel]Zsumowanie wartości z tablic
Generic
post
Post #1





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

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


Mam następującą kolekcję z tablicami tak jak w poniższym kodzie. Próbuję uzyskać sumę wartości price ze wszystkich zwróconych tablic. Próbowałem zrobić to na kilka sposobów jednak za każdym razem otrzymuję błąd. Czy ktoś mógłby podpowiedzieć mi jak mogę uzyskać zamierzony efekt?

  1.  
  2. array_column($order->toArray(), 'product')
  3.  
  4. // Rezultat
  5.  
  6. array:2 [▼
  7. 0 => array:12 [▼
  8. "id" => 1
  9. "name" => "Fitness tracker"
  10. "price" => 75.99
  11. "created_at" => "2018-11-30 13:15:18"
  12. "updated_at" => "2019-01-16 20:59:21"
  13. ]
  14. 1 => array:12 [▶]
  15. ]
  16.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Generic
post
Post #2





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

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


Struktura mojej bazy wygląda następująco:

Cart table (przechowuje informacje o zamówieniu):

id
user_id
shipping_id

Order table (przechowuje zamówione przedmioty):

id
user_id
product_id
quantity


User table (przechowuje dane klienta);

id
name
surname
etc.

Dla tabeli Cart utworzyłem relację Belongs to user z kluczem obcym user_id. Tabela Order zawiera relację Belongs to products z kluczem product_id. Struktura działa gdyż jestem w stanie pętlą foreach zwrócić zamówione przedmioty i dane klienta. Mam jednak problem ze zwróceniem wartości całego zamówienia.

Okey, dodałem zmienną:

  1. $total = Order::with('product')->where('id', $id)->get()->sum('product.price');



Działa tak jak tego oczekiwałem, jednak myślałem o tym by te informacje pochodziły z pierwotnego zapytania (tak jak poniżej), aby nie tworzyć nowego skoro są zawarte w jednym.

  1. Order::with('product')->where('id', $id)->get();


Ten post edytował Generic 2.06.2019, 15:44:28
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 14:30