Witam.
Mam taką sytuację: w CMS-ie (korzystam z Kohany 3.1.x) mam kategorie do których, w relacji wiele-do-wielu, mam podpięte inne tabele. Listując daną kategorię, chcę wyświetlić wszystkie rekordy (teksty, galerie, podkategorie etc.) będące z nią w relacji. Nie chodzi mi o zwykłe JOIN'owanie - wyniki chcę mieć w jednej tablicy oraz mieć możliwość sortowania również po nazwie tabeli z której pobrany jest dany rekord. Normalnie ORM nie wspiera takich cudów - pomimo że na stronach Kohany znalazłem revision o uniach (http://dev.kohanaframework.org/projects/database/repository/revisions/2b4c6579e51e74c962b91e0db9bdcd48a33f5860) to nie udało mi się tego uruchomić. Napisałem własne metody generujące unię SQL pomiędzy (wskazanymi w $_has_many) tabelami i wykonuję je poprzez DB::instance()->query($zapytanie). Wszystko gra i buczy, jednak takie rozwiązanie może być kłopotliwe przy dalszej rozbudowie systemu.
Dlatego zastanawiam się, czy zamiast kombinacji z unią nie byłoby lepiej pobrać wyniki dla każdej tabeli z osobna i dopiero później, w PHP zrobić array_merge a wynik odpowiednio posortować i wyrzucać na ekran.
Chyba że ktoś ma jakiś sprytny sposób na unie w Kohana ORM?