Din*_*nga 0 php database validation zend-framework2
我的用户表包含以下列和数据.
id | 名字| IS_DELETED
##########################1 | dinu | 1
2 | dddd | 0
我想检查未删除的用户是否存在.我该怎么做?
我在编辑用户处使用以下代码进行检查用户输出is_deleted.现在我想用is_deleted检查用户行.我使用exclude来检查当前用户ID.
$validator = new Zend\Validator\Db\RecordExists(
array(
'table' => 'users',
'field' => 'name',
'exclude' => array(
'field' => 'id',
'value' => $id
)
)
);
if ($validator->isValid($username)) {
}
Run Code Online (Sandbox Code Playgroud)
标准验证文档具有以下代码.但我无法使用它.
$email = 'user@example.com';
$clause = $db->quoteInto('email = ?', $email);
$validator = new Zend\Validator\Db\RecordExists(
array(
'table' => 'users',
'field' => 'username',
'exclude' => $clause
)
);
Run Code Online (Sandbox Code Playgroud)
什么是$ db?它不是适配器.我试试看.请再帮帮我
我认为ZF2 Validation Classes手册关于条款的部分已经过时了.
quoteInto()
方法在ZF2中被删除
但是,我得到基于报价的Db验证过滤器工作..
您可以将"where"表达式用作字符串,如下所示:
$clause = "id != $myid AND status != false";
Run Code Online (Sandbox Code Playgroud)
..或使用如上所述的关联数组.
然后:
'validators' => array(
array(
'name' => 'Db\NoRecordExists',
'options' => array(
'adapter' => $dbAdapter,
'table' => $tableName,
'field' => $fieldName,
'exclude' => $clause,
),
),
),
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3487 次 |
最近记录: |