Jedyną słuszną odpowiedzią jest stworzenie własnego frameworka. Robiłem to już kilka razy. To, czego potrzebujesz, wygląda mniej więcej jak złożony generator raportów, który generuje raporty w locie, ale chcesz stworzyć złożony generator zapytań z wizualnymi pomocami dla klienta.
Pierwszą rzeczą, jaką bym zrobił, jest użycie modelu, który reprezentuje każdą tabelę i oferuje mechanizmy do opisywania pól tabeli, dzięki czemu można pokazać użytkownikowi pola. Następnie stwórz mechanizm łączenia w swoich modelach, który mówi:jeśli połączę tę tabelę i tę tabelę, jakiego JOIN powinienem użyć.
Pozwól użytkownikowi wybrać modele do Twoich, kolumny do użycia, a następnie użyj swoich modeli do utworzenia zapytania za Ciebie. W rzeczywistości działa dobrze, ale zajmuje trochę czasu.
Powodzenia