Генерация динамических отчетов в laravel

Я пытаюсь разработать пользовательское создание отчетов для моего приложения, в котором пользователь будет динамически вводить модель и связанную с ней модель. И будет выбирать связанные столбцы, для которых требуется отчет, и будет иметь условные операторы для «И» и «ИЛИ» условия.

Такую же функциональность выполняют vtiger, Zoho CRM и отдел продаж.

Я сомневаюсь, что это эффективный способ сделать это.

1. Либо путем создания таблиц для каждого модуля и определения его столбца в базе данных
2. Или предоставив файл конфигурации для всех настроек
3. Или путем создания класса модели для всех отчетов и определения связанных с ним атрибутов модели и привязки данных с использованием методов получения и установки (методы доступа и мутаторы).
4. Или предложите мне любой другой предпочтительный метод или любые пакеты с минимальными функциональными возможностями, связанными с этим

Я знаю, это сложно, но, пожалуйста, предложите мне несколько советов с вашей точки зрения.

Пожалуйста, найдите ниже для потока.
введите описание изображения здесь
введите описание изображения здесь

8

Решение

Вы можете использовать Querybuilder для генерации запросов самими пользователями.
затем используйте что-то похожее на JSReport, чтобы позволить пользователям создавать отчеты.
Есть очень хорошие дизайнеры веб-отчетов, но большинство из них по цене. если вы все еще хотите сделать свой собственный, обратитесь к ним;
Печать отчетов
JSReports для справки, что вы ищете, реально 😉

использовать JQueryQueryBuilder и настроить в соответствии с вашими потребностями.
используйте Laravel Boilerplate или что-то для начала.
используйте Handlebars.js / Mustache.js или Blade в качестве движка шаблонов.
будь креативным…

ура !!!

5

Другие решения

По аналогичному требованию я наткнулся Reportico

Хотя я еще не начал реализовывать это, но это кажется действительно хорошим.

У них также есть модуль Laravel, поддерживающий Laravel 5.1

Кажется, команда постоянно обновляет информацию.

Хотя их пользовательский интерфейс не очень хороший, у них также есть построитель отчетов.

Их ссылка на Github: https://github.com/reportico-web/

1

Хотя это и не полное решение, я думаю, что это может помочь вам на пути к созданию собственного:

  1. Вы можете получить все свои таблицы из вашей БД динамически:

    DB::select('SHOW TABLES');

  2. Вы также можете получить имена столбцов для таблиц:

    Schema::getColumnListing('users');

  3. Попробуйте найти способ получить связанные таблицы к той, которую выбирают пользователи.

  4. получить заданный запрос из формы пользователя. (с условиями и стоимостью)

  5. прибыль.

0