Closed mrkovec closed 7 years ago
Ahoj, v prvom rade by som chcel pochváliť super spracovanie! 👍
Mám iba dve otázky k tomu SQL
Nepochopil som úplne tej poznámke
nechcel som zasiahnut do hodnot vracanych funkciou getProducts
Ako sa nedá zasahovať do hodnôť keď píšeš WHERE slučku?
A ešte by ma zaujímalo, či ten tvoj sql má nejakú výhodu nad
$tag_slugs = "'" . implode("', '", $tag_slugs) . "'";
$where[] ="t.slug IN(:tag_slugs)";
$array['tags'] = $tag_slugs;
Možno sa odpoveď na moju druhú otázku nachádza v prvej ... v každom prípade ďakujem za spoluprácu a toto už je iba taký estetický dodatok. :) 💯
Slo mi o to, ze v query (vo fnc getProducts) sa selectuju concatnute mena tagov pre konkretny produkt - GROUP_CONCAT(DISTINCT t.name) AS tags
na https://github.com/Matoo125/Vegapo/blob/4fea2009d9f460173d7f79692eaee9a068bb9fbc/app/model/Product.php#L154
a ked som where podmienku skusal spravit podobne ako pises, tak ten zoznam tagov obsahoval len tie, ktore boli v podmienke. Neviem, ci sa vyjadrujem jasne - chcel som dosiahnut aby produkt mal uvedene vsetky tagy, ktore su k nemu pridelene, nie len tie za zaklade ktorych je selectovany.
Mozno je to bezpredmetne a tags
stlpec nemusi obsahovat vsetky produktove tagy - v tom pripade je tvoje riesenie idealne.
Aha už som pochopil.
Ja som zabudol, že sa tam selektuje aj zoznam tagov, pretože najprv som spravil query a potom som to nikde nezobrazil, takže je to momentálne nevyužité.
EDIT: v administrácií sa zobrazuje zoznam tagov pri produkte, takže je to trochu využité. Aj ked neviem či potrebné.
Zajtra spravím merge a rovno to aj zverejním.
EDIT: možno kôli rýchlosti by sme mohli použiť zatiaľ mnou navrhnutý spôsob. Teraz som to skúšal a je tam rozdiel 19 ms vs 190 ms. To je celkom výrazné.
Super, som rad ze to slo tak hladko. Mas to dobre navrhnute, diki za spolupracu a mam pripravenych par dalsich hotovych veci.
Pridanie moznosti filtrovat produkty na zaklade viacerych roznych tagov - pridavanie a odoberanie tagov z filtra.