Zend framework2 ZendFramework 2:不存在数据库适配器

Zend framework2 ZendFramework 2:不存在数据库适配器,zend-framework2,adapter,global,Zend Framework2,Adapter,Global,我有这门课: <?php class RegisterFilter extends InputFilter { public function __construct() { $this->add(array( 'name' => 'email1', 'required' => true, 'validators' => array(

我有这门课:

<?php
class RegisterFilter extends InputFilter
{
    public function __construct()
    {
        $this->add(array(
            'name'       => 'email1',
            'required'   => true,
            'validators' => array(
                array(
                    'name'    => 'EmailAddress',
                    'options' => array(
                        'domain' => true,
                    ),
                ),
                array(
                      'name'    => 'Identical',
                      'options' => array(
                        'token' => 'email2',
                    ),
                ),
                array(
                      'name'    => 'Db\NoRecordExists',
                      'options' => array(
                        'table' => 'user',
                        'field' => 'email',
                        'messages' => array(
                            'recordFound'   => "Email already exist ... ! <br>",  
                        ),
                    ),
                ),
            ),
        ));
    }
}
?>


我收到以下错误:不存在数据库适配器。你知道为什么会这样吗?

如果你读过这本书就好了。给定的错误消息的意思正是它所说的。您没有在验证器中提供DB适配器

来自文档:

$validator = new Zend\Validator\Db\RecordExists(
    array(
        'table'   => 'users',
        'field'   => 'emailaddress',
        'adapter' => $dbAdapter
    )
);

如果您想了解如何将DB适配器放入表单中,我已经写了关于上述主题的文章。

$dbAdapter的值是多少。此外,他们使用的方式也不同。另外,我可以为表单设置验证器吗。我可以设置一个过滤器。想知道它是否是同一个过程。@EliMiller是的,他们使用它的方式不同,但架构仍然相同$dbAdapter应该类似于Zend\Db\Adapter\Adapter,它必须是AdapterInterface;)过滤器/验证器的情况基本相同。