Zend_Validate_Db_RecordExists对2个字段

cwh*_*rer 6 validation zend-framework zend-db

我通常使用Zend_Validate_Db_RecordExists来更新或插入记录.这适用于一个字段进行检查.如果要检查两个字段,该怎么做?

 $validator = new Zend_Validate_Db_RecordExists(
        array(
            'table' => $this->_name,
            'field' => 'id_sector,day_of_week'
            )
    );

    if ($validator->isValid($fields_values['id_sector'],$fields_values['day_of_week'])){
        //true
    }
Run Code Online (Sandbox Code Playgroud)

我尝试使用数组和逗号分隔列表,没有任何作用...欢迎任何帮助.关心安德烈

Jer*_*via 4

为此,您必须扩展 Zend_Validate_Db_RecordExists 类。

目前它不知道如何检查是否存在多个字段。

您可以仅使用两个不同的验证器实例来分别检查这两个字段。除了扩展之外,这是我现在能看到的唯一解决方法。

如果你选择扩展它,那么你必须找到某种方法将所有字段传递给构造函数(数组似乎是一个不错的选择),然后你必须深入研究创建 sql 查询的方法。在此方法中,您必须循环传递给构造函数的字段数组。