Sprawa jest bardzo prosta z założenia. Mam dwie tabele:
Lokale => investment_id i building
Inwestycje => id i name

Chciałem stworzyć filtr po budynkach, natomiast jak wiadomo budynki mogą się powtarzać, więc wyciągnąłem to z pomocą distinct i group_by w celu stworzenia opcji do multiselecta (wyciągałem investment_id, name oraz budynek).

Do tej pory filtrowałem to z wykorzystaniem $_GET na zasadzie:

if (!empty($this->_search['XXX'])) {
            $select->where("XXX >= ?", $this->_search[XXX]);
        }

Nie mam pojęcia jak z logicznego punktu widzenia to podzielić, żeby w polu wyboru użytkownik miał zarówno budynek jak i nazwę inwestycji do której ten budynek należy, ale żeby później to podczas filtrowania podzielić tak, żeby można był stworzyć zapytanie. Czyżby trzeba było jakoś dzielić te stringi, które siedzą w $this->_search?

Krótko mówiąc chciałbym, żeby opcje wyglądały na zasadzie: A-21 ( Inwestycja X ), 123-23-I ( Inwestycja Y), A-21 (Inwestycja Z) i żeby później jezeli uzytkownik zaznaczy np. opcję1 to wyszuka A-21 tylko z inwestycji X, a nie Z.

W tym momencie są te dwa filtry, ale oddzielnie, wiec jezeli ktos zaznaczy A-21 to otrzyma wszystko A-21 jakie są w tabeli Lokale.