2015-11-05 43 views
8

Próbuję opracować niestandardową generację raportów dla mojej aplikacji, w której użytkownik będzie dynamicznie wprowadzał model i powiązany z nim model. I wybierze powiązane kolumny, dla których raport będzie potrzebny i będzie mają wyrażenia warunkowe dla warunków "AND" i "LUB".Generowanie raportów dynamicznych w laravel

Ta sama funkcja jest dostępna vtiger, Zoho CRM i dział sprzedaży.

Moje wątpliwości to najlepszy sposób na zrobienie tego.

1.Either poprzez tworzenie tabel dla poszczególnych modułów i określeniu jej kolumny w bazie 2.Or dostarczając plik konfiguracyjny dla wszystkich utworzonej 3.Or tworząc klasę modelu dla wszystkich raportów i określeniu jej Powiązany model atrybuty i dane wiązania przy użyciu gettera i setera (accessory i mutators). 4.Podaj mi jakąkolwiek inną preferowaną metodę lub jakiekolwiek pakiety z minimalnymi funkcjonalnościami związanymi z tym

Wiem, że jest złożona, ale proszę zasugerować mi kilka wskazówek z twojego punktu widzenia.

Poniżej znajdują się dane dotyczące przepływu. enter image description here enter image description here

+0

Byłbym również bardzo zainteresowany tym. Sprawdziłem, czy są to pakiety do tego, a ich nie ma. –

Odpowiedz

0

Chociaż nie kompletnego rozwiązania, myślę, że to może pomóc Ci na drodze do tworzenia własnych:

  1. można uzyskać wszystkie tabele z DB dynamicznie:

    DB::select('SHOW TABLES');

  2. Możesz również uzyskać nazwy kolumn dla tabel:

    Schema::getColumnListing('users');

  3. Spróbuj znaleźć sposób na powiązanie tabel z tym, który wybierze użytkownik.

  4. uzyskać zamierzone zapytanie z formularza użytkownika. (z warunkami i wartością)

  5. zysk.

0

Do podobnego wymogu, mam natknąć Reportico

Chociaż nie rozpoczął realizacji tego jeszcze, ale wydaje się naprawdę miły.

Mają moduł laravel jak również, wsparcie laravel 5.1

Wydaje zespół utrzymuje rzecz zaktualizowany.

Chociaż ich interfejs użytkownika nie jest dobry, mają również narzędzie do tworzenia raportów.

Ich związek Github: https://github.com/reportico-web/

4

można użyć do generowania zapytań QueryBuilder przez samych użytkowników. następnie użyj czegoś podobnego do JSReport, aby umożliwić użytkownikom projektowanie raportów. Istnieją bardzo dobrzy projektanci raportów internetowych, ale większość z nich jest za cenę.jeśli nadal chcesz tworzyć własne, odeślij to; Seal donosi JSReports dla odniesienia, czego szukasz jest prawdziwa ;-)

użycie JQueryQueryBuilder i dostosować w zależności od potrzeb. użyj Laravel Boilerplate lub czegoś na początek. użyj Handlebars.js/Mustache.js lub Blade jako silnika szablonu. bądź kreatywny ...

okrzyki!