我正在尝试为我的应用程序开发自定义报告生成,其中用户将动态输入模型及其相关模型。并将选择需要报告的相关列,并且将具有“AND”条件语句和“或”条件。
vtiger、Zoho CRM 和销售人员也完成了相同的功能。
我的疑问是哪种方法最有效。
1.通过为每个模块创建表并在数据库中定义其列 2.或者为所有设置提供一个配置文件 3.或者为所有报表创建一个模型类,并使用 getter 和 setter(访问器和修改器)定义其相关的模型属性和绑定数据。 4.或者建议我任何其他更好的方法或任何具有与此相关的最小功能的软件包
我知道这很复杂,但请从你的角度给我一些提示。
您可以使用查询构建器由用户自己生成查询。 然后使用类似于JSReport的东西来让用户设计报表。 那里有非常好的网络报表设计器,但大多数都是有代价的。如果您仍然想自己制作,请参考这些; 印章报告 JSReports 供参考,您正在寻找的是真实的;-)
使用 JQueryQueryBuilder 并根据您的需要进行定制。 使用 Laravel Boilerplate 或其他东西作为开始。 使用 Handlebars.js / Mustache.js 或 Blade 作为模板引擎。 有创意...
干杯!!!
对于类似的要求,我遇到过Reportico
虽然我还没有开始实施它,但看起来真的很好。
他们也有 Laravel 模块,支持 Laravel 5.1
团队似乎一直在更新。
虽然他们的用户界面不好,但他们也有报告生成器。
他们的 Github 链接:https://github.com/reportico-web/
虽然不是一个完整的解决方案,但我认为这可以帮助您创建自己的解决方案:
您可以动态地从数据库中获取所有表:
DB::select('SHOW TABLES');
您还可以获得表的列名称:
Schema::getColumnListing('users');
尝试找到一种方法来获取与用户选择的表相关的表。
从用户表单中获取预期的查询。 (有条件和价值)
利润。
如果您希望在 Laravel 中动态生成报告,并使用直观的拖放界面来选择表列和连接多个表,您可能需要查看我最近开发的包:Laravel 动态报告生成器
该软件包提供了一个用户友好的界面,允许您:
拖放表格列 连接多个表 生成动态 SQL 查询 查看查询结果并分页