Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Sumowanie
Forum PHP.pl > Forum > Przedszkole
Octobus
Mam zapytanie do bazy Magento 2 ktore pobiera cene produktu oraz jego nazwe. Problem w tym ze jak sie ma wiele sklepow na jednym skrypcie Magento 2 to wartosci moga byc domyslne, wtedy w bazie pojawiaja sie nie przypisane do sklepu z ktorego pobieramy informacje a do domyslnego sklepu `store_id`=0. Jak pobieram wiec tytul dla sklepu 3 i jest on domyslny to w tabeli go nie znajde gdy uzyje where `store_id`=3 bo go nie ma ale bedzie w domyslnym sklepie `store_id` = 0. Jak wiec sprytnie pobrac wartosci z bazy zeby nie robic 2 zapytan a pozniej petli w ktorej domyslne wartosci zostana przypisane do listy produktow oraz jak rozroznic ze ta wartosc jest domyslna a nie przypisana tylko do tego sklepu ?



Cytat
SELECT
`catalog_product_entity`.*,

`price`.`value` as `price`,
`name`.`value` as `name`,

FROM
`catalog_product_entity`

/* product price */
left outer join `catalog_product_entity_decimal` as `price`
on (`catalog_product_entity`.`entity_id` = `price`.`entity_id` and
`price`.`store_id` = '.$store_id.' and
`price`.`attribute_id` = '.$product_attribute_list['price']['attribute_id'].')

/* product name */
left outer join `catalog_product_entity_varchar` as `name`
on (`catalog_product_entity`.`entity_id` = `name`.`entity_id` and
`name`.`store_id` = '.$store_id.' and
`name`.`attribute_id` = '.$product_attribute_list['name']['attribute_id'].')
YourFrog
Tak na szybko żeby działało z każdą bazą danych to proponuję spróbować za pomocą UNION'a jako podzapytanie. Coś na zasadzie

  1. SELECT
  2. base.*
  3. FROM
  4. (
  5. // Zapytanie 1 z LIMIT 1
  6. UNION
  7. // Zapytanie 2 z LIMIT 1
  8. ) AS base
  9. LIMIT 1


Co prawda nie wiem jak to będzie z wydajnością takiego rozwiązania jednak wydaje się ok. Można oczywiście próbować pobierać domyślną i do niej dodawać z konkretnego storage i później w select wybierać tą która nam pasuje (bo storage 3 będzie nullem).
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.