Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 159 Pomógł: 0 Dołączył: 21.08.2011 Ostrzeżenie: (0%)
|
Na poczatek struktura bazy danych:
produkt id name price ... products_categories product_id category_id categories id name ... attributes id name attribute_sets id attribute_id product_id value categories_attributes category_id attribute_id Mam formularz z multiselektami, ktory przekazuje do funkcji z repozytorium parametry, w tym id wartosci cechy produktu. Probuje przy uzyciu query buildera wykonac zapytanie, ktore by mi zwrocilo pasujace rekordy - liste produktow z wartosciami cech zaznaczonych w formularzu. Jednak mam problem, bo gdy uzyje orWhere panuje istny chaos - zwracane sa niepoprawne wyniki, jesli zas uzyje andWhere pojawiaja sie poprawne wyniki, ale brane sa pod uwage tylko przekazane parametry z ostatniego checkboxa w ostatnim multiselekcie. Zaznaczam w formularzu przykladowo (cecha | wartosc cechy): pierwszy multiselect: kolor (pobierane jest id cechy) | bialy (pobierana jest wartosc cechy jako string) drugi multiselect: typ (pobierane jest id cechy) | prawe (pobierana jest wartosc cechy jako string)
Czy ktos z Was ma jakis pomysl w jaki sposob poprawic zapytanie? Ten post edytował swiezak 1.03.2016, 14:02:42 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 13 Dołączył: 16.06.2007 Ostrzeżenie: (0%)
|
Przecież ten zapis w pętli nadpisze ci bindowaną wartość parametru na ostatni element tablicy... Musiałbyś mieć unikalne nazwy parametrów. Z resztą zrzuć sobie zapytanie poprzez $qb->getQuery()->getSQL() i zobaczysz, że będziesz miał kilka takich samych where.
|
|
|
|
swiezak [SF2][SF][Doctrine2] Problem z zapytaniem orWhere/andWhere 1.03.2016, 13:38:30
Crozin Odstawiając temat Doctrine'a na chwilę, rozwią... 2.03.2016, 08:02:53 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 17:45 |