最有效的方式来比较表单值和数据库值
问题描述:
我已经在我的Magento数据库中创建了一个表,该表没有任何连接到任何magento表。我创建了一个允许用户将信息放入该表的表单。最有效的方式来比较表单值和数据库值
在该表中有一列必须保存唯一值,我已将该列设置为仅允许其中的唯一值。
我目前所做的仅仅是传递数据而不检查值是否是唯一的,并在屏幕上显示“完整性约束违规”消息。
我想要做的是在尝试将数据传递到该表之前检查用户尝试输入的值在表中是否已经存在,如果是,请将它们传递到相关页面,或者是否可以使用“完整性约束违规”,然后将用户传递到相关页面上?
我知道如何比较使用原始PHP和MySQL代码值,但Magento的读了后,我看到使用SQL查询气馁所以我考虑创建一个数组将举行从该列然后比较针对阵列的所有行用户输入数据,但这似乎是资源的巨大浪费,尤其是随着数据库的增长。
如何才能达到这个目标?
如果这是一个sql查询可以接受直接在表上运行的情况下,我在哪里查找代码来找到我需要使用的函数?
答
在我看来,以下可能是可行的解决方案:
- 要么使用存储过程在数据库中,以检查是否在表中存在的价值。如果它只是简单地返回一条消息被捕获 并在前端执行相应的操作。
- 使用哈希映射构造(地图集合),它将在前端将处理时间缩短到最小。
我希望有帮助。
+0
感谢您的帮助。它明确地给了我一些想法和调查,因为我不知道如何使用这些。我希望它会更基本,但我会开始研究 – tony09uk
如果您不依赖模型和资源模型,使用直接的sql查询可能不是一个真正的问题,并且可能节省您的时间。 – dagfr