0

我们正在使用 ZF2 开发一个网站。我们已经开始了这个项目。我们安装了 ZF2 skelton 应用程序并集成了相册模块。一切似乎都在工作。现在我们正在尝试在一个模块中集成多个 zend 表单。形成我们所做的一切[通过修改albulm模块元素)我能够将等数据插入/更新/删除等数据到在module.php文件中设置的默认表中[这是用于表格1]。我有另一个需要插入/删除/更新到另一个表的表单,我创建了新的表单类、表类(在模型上)等。当我尝试使用自定义查询格式将数据插入 Db 时,它会引发错误:

File:
/home/catholic/public_html/propertydosth/vendor/zendframework/zendframework/library/Zend/Db/Sql/Insert.php:298
Message:
The key adapter was not found in this objects column list.

似乎适配器价值没有得到什么..

我的插入查询代码:

$adapter = $this->tableGateway->getAdapter();
    $sql         = new Sql($adapter);
    $insert      = $sql->insert('dad_cms');
    $newData     = array(
        'category_id' => $admin->category_id,
        'cms_title'  => $admin->cms_title,
        'cmd_desc' => $admin->cmd_desc,
        'seo_keywords'  => $admin->seo_keywords,
        'seo_titles' => $admin->seo_titles
    );
    $insert->values($newData);
    $selectString = $sql->getSqlStringForSqlObject($insert);
    $results = $insert->adapter->query($selectString, Adapter::QUERY_MODE_EXECUTE);

当我回显 $selectString 时,我得到了正确的查询值。任何人请提出我的代码中有什么问题来完成它。

4

1 回答 1

0

最后山姆在这个问题上帮助了我:所以正确的答案变成了[这将对遇到类似问题的人有所帮助。即使我花了很多时间来调试相同的]:

$adapter = $this->tableGateway->getAdapter();
$sql         = new Sql($adapter);
$insert      = $sql->insert('dad_cms');
$newData     = array(
    'category_id' => $admin->category_id,
    'cms_title'  => $admin->cms_title,
    'cmd_desc' => $admin->cmd_desc,
    'seo_keywords'  => $admin->seo_keywords,
    'seo_titles' => $admin->seo_titles
);
$insert->values($newData);
$selectString = $sql->getSqlStringForSqlObject($insert);
$results = $adapter->query($selectString, Adapter::QUERY_MODE_EXECUTE);
于 2013-05-02T09:46:17.387 回答