【发布时间】:2013-07-31 08:01:03
【问题描述】:
我在我的 Magento 数据库中创建了一个表,该表与任何 magento 表都没有连接。我创建了一个表单,允许用户将信息放入该表中。
在该表中有一个必须包含唯一值的列,我已将该列设置为仅允许其中包含唯一值。
我目前正在做的只是简单地传递数据而不检查值是否唯一,并在我的屏幕上显示“违反完整性约束”消息。
我想要做的是在尝试将数据传递到该表之前检查用户尝试输入的值是否已存在于表中,如果存在,请将它们传递到相关页面,或者是否可以使用“违反完整性约束”将用户传递到相关页面?
我知道如何使用原始 php 和 mysql 代码比较值,但是在阅读 Magento 之后,我发现不鼓励使用 sql 查询,因此我考虑创建一个数组来保存该列中的所有行,然后将该数组与用户输入数据,但这似乎是对资源的极大浪费,尤其是随着数据库的增长。
实现这一目标的最佳方法是什么?
如果在这种情况下,可以接受直接在表上运行 sql 查询,我在哪里查看代码以找到我需要使用的函数?
【问题讨论】:
-
如果您不依赖模型和资源模型,使用直接 sql 查询可能不是真正的问题,并且可能会节省您的时间。