Korzystam z Kohany, ale zapytanie jest na tyle długie i skomplikowane, że nie korzystam z ORM w tym przypadku.
Mam jedną metodę w modelu, która ma całe to długie zapytanie (SELECT FROM JOINY WHERE HAVING ORDER LIMIT). I z kontrolera przesyłam do tej metody tablicę $params, która wygląda np. tak:
$params['category'] = 1;
$params['availability'] = 2;
// itd... jest tego dużo
I moje pytanie brzmi, czy w tej metodzie z tym długim zapytaniem powinienem sobie operować na tej tablicy i tworzyć sobie ten cały wielki WHERE, czy przerzucić to do innej metody. Ponadto w jaki sposób najładniej to zrobić? Mysłałem, by robić to tak np.:
$where['category'] = 'c.id = ' . $params['category'];
$where['availability'] = 'a.id = ' . $params['availability'];
//itd...
Jakieś pomysły?
@edit: Aha i co w przypadku, gdy dany parametr mógłby być pusty. Bez sensu wtedy by wyszło.