我在Magento数据库中创建了一个表,该表与任何magento表都没有连接。我创建了一个表单,允许用户将信息放入该表中。
在该表中,有一列必须包含唯一值,我已将该列设置为仅允许其中的唯一值。
我目前正在做的只是传递数据,而不检查值是否唯一,并在屏幕上显示“完整性约束违规”消息。
我想要做的是在尝试将数据传递到该表之前检查用户尝试输入的值是否已经存在于表中,如果确实存在,则将它们传递到相关页面,或者是是否可以使用“完整性约束违规”将用户传递到相关页面?
我知道如何使用原始php和mysql代码比较值,但在阅读Magento之后,我发现不鼓励使用sql查询,因此我考虑创建一个数组,该数组将保存该列中的所有行,然后将该数组与用户输入的数据,但这似乎是资源的浪费,特别是随着数据库的增长。
如何才能实现这一目标?
如果这是一种情况,sql查询可以直接在表上运行,我在哪里查找代码以找到我需要使用的函数?
答案 0 :(得分:0)
在我看来,以下是可能的解决方案:
- 使用数据库中的存储过程检查表中是否存在该值。如果确实只是返回要捕获的消息 以及在前端进行的相应行动。
- 使用hashmap构造(map collection),它将在前端将处理时间减少到最小。
醇>
我希望有所帮助。