![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Category hasMany Products
Products belongsTo Category Robie count($categories['Product']) zlicza mi ilosc produktow w danej kategorii... Problem polega na tym ze jesli dana kategoria ma podkategorie wraz z produktami to chcialbym zliczyc zawsze ilosc produktow oraz "podproduktow", jak to wykonac? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 36 Dołączył: 31.03.2006 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli do kategorii używasz behaviora Tree to zrób tak:
1. W kategoriach zapisuj ilość dodanych produktów (dodaj kolumnę do tabeli kategorie) 2. Zsumuj ilość produktów z tabeli kategorie (mając do dyspozycji kolumny lft oraz rght, jest to dość proste) Robie count($categories['Product']) zlicza mi ilosc produktow w danej kategorii... Ten sposób jest strasznie mało optymalny. |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Nie znam Cake'a ale przedstaw sposob implementacji kategorii.
Moze trzeba zrobic to jednym wiekszym selectem, albo zmienic implementacje kategorii/drzewek. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Kod Categor (5) Category (3) Category (2) Product Product Product Category (1) Product Product Mniej wiecej to tak wyglada. W nawiasach podano liczbe produktow i podproduktow tajk jakbym chcial wyswietlac Najwyzsza kategoria ma wszystkie produkty, czyli 5, itd. |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Ja robię to w ten sposób, że dopisuję produkty do całej ścieżki kategorii. Przykładowo mając drzewko:
Kod Erotyka -- Gadżety ---- Lale i inne i dodając produkt do "Lale i inne" równocześnie dodaję go do "Gadżety" oraz "Erotyka". Co dzięki temu mam? Mogę bez problemu obliczać ilość produktów na dowolnym poziomie, a także wyświetlać produkty z dowolnego poziomu. Działa wyśmienicie (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 274 Pomógł: 54 Dołączył: 2.05.2006 Skąd: Nadarzyn Ostrzeżenie: (0%) ![]() ![]() |
W momencie gdy masz nieokreśloną ilość kategorii jest to ciężkie do zrobienia. Można tutaj wykorzystać faktycznie TreeBehavior żeby kontrolować drzewo kategorii. Dodatkowo dzięki niemu masz możliwość łażenia sobie po tym drzewie więc ja bym chyba napisał dla modelu produktu w metodzie afterSave przejscie przez wszystkie jego kategorie i zaktualizowanie ilości produktów. To samo dla kasowania.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Nieciekawe.
Znalazlem rozwiazanie jak zliczac ilosc produktow w kategori i jej podaktegoriach, ale nie wiem jak to zastosowac do petli, poniezej podaje link: http://mrphp.com.au/code/code-category/cak...haviour-cakephp (jesli dobrze pamietam ostatni tips) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 36 Dołączył: 31.03.2006 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Nieciekawe. Fajna argumentacja Podam przykład dla postów i katalogów. W drzewie katalogów tworzysz kolumnę np.: "post_count" Ilość postów w kategorii zliczasz po zapisie:
Oraz przed usunięciem:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.09.2025 - 03:13 |