html - 根据表格行下载不同的pdf
问题描述
我有一个 wordpress 页面,其中根据用户名显示适用于该用户的一些法律。我将这些法律存储在 wp 数据库中的一个表中,该表具有以下列:Id、law、description 和 username。law 和 description 列是 VARCHAR 类型。
我的第一个问题是每个定律都可以应用于许多用户,所以这意味着这个表的创建方式将有太多行,因为它在多行中具有相同的定律和描述,只是用户名不同。现在这个表只有几行,所以这不是什么大问题,但我将来必须改变它。有没有办法优化这个?我必须创建另一个表吗?
我的第二个问题是,当用户点击他的一条法律时,我还需要添加一个功能,下载与该特定法律相关的 pdf。我是否需要在我的表格中添加一个额外的列,例如 pdfId?有人可以就如何实现这一目标提供一些想法吗?
提前致谢!
解决方案
以 wordpress 方式思考,您可以为法律使用自定义帖子类型 (CPT),并将 wp_post 表的每个记录与 wp_postmeta 记录链接以保存法律数据。
pdf可以上传到媒体库,wp_postmeta中保存的url链接到相应的法律。如果链接到单个法律的 pdf 数量只有几个,您可以使用数组并将其序列化为 postmenta 值。否则,您可能会想到一个额外的 CPT 将每个法律与每个 pdf 链接起来。
最后,您可以拥有另一个 CPT(例如 UserLaw)来链接用户和适用于他们的法律。在这些记录的 postmeta 中,您将拥有用户的 id 和适用的法律的 id。wp_postmeta for ever 中的一个条目适用于单个用户。
警惕地,与 pdf 的情况一样,如果每个用户只有少量法律,则每个 UserLaw 帖子只能有 1 个 postmeta 条目,其中适用的法律 ID 保存在一个数组中,该数组被序列化为后元表。
推荐阅读
- javascript - 多次调用时每个函数实例的 Jest 单元测试参数,但结果略有不同
- sqlite - 设计 3NF 数据库
- c++ - MacOS Xcode上的Opencv不能使用imread读取基于C++的图像
- javascript - 解释 javascript 闭包的调试值
- angular - Update ngModel if it's not null angular 5
- angular - 如何在 Angular 5+ 中使用 ngx-file-drop 验证文件?
- autodesk-forge - 如何将自定义菜单添加到 Autodesk Forge Viewer?
- wordpress - Woocommerce 电子邮件主题占位符
- xamarin - Hijri / Gregorian calendar 是否有任何好的 Xamarin 表单控件?
- python - 如何生成长度为 8 且唯一的随机整数