使用 Zend 框架 2 将数据插入和更新到两个表(事务)中

Posted

技术标签:

【中文标题】使用 Zend 框架 2 将数据插入和更新到两个表(事务)中【英文标题】:Insert and Update data into two tables (Transactions) using Zend framework 2 【发布时间】:2013-09-03 04:14:12 【问题描述】:

我需要在 ZF2 中使用 tableGateway 将数据插入到一个表中并引用数据到另​​一个表中。

例如,当我注册用户时,我必须将用户数据插入到一个表中,并且该用户的爱好数据(多行)到另一个表中,并引用插入的用户 ID 和更新数据也应该工作。

我已经提到了这个网址: Want to insert into two tables using one form in ZF2

但这对我没有帮助。

【问题讨论】:

【参考方案1】:

假设我们处于“用户”模型中。因此,默认情况下 tableGateway 将在用户表中插入数据,对于爱好表,我将新的 tableGateway 实例化为“$userTable”。

$data = array(
        'id' => $user->id,
        'name'  => $user->name,
    );
$this->tableGateway->insert($data); //this will insert data in user table
$last_id=$this->tableGateway->lastInsertValue; //getting last inserted id
$adapter=$this->tableGateway->getAdapter(); 
$userTable = new TableGateway('hobbies', $adapter); //this will insert in hobbies table.
$data_arr = array(
        'link_id' => $last_id,
        'music_info'  =>'test',
        );
$artistTable->insert($data_arr);

【讨论】:

@Ngm AKumar 请使用这个并让我知道是否还有其他问题。

以上是关于使用 Zend 框架 2 将数据插入和更新到两个表(事务)中的主要内容,如果未能解决你的问题,请参考以下文章

如何一次将数据插入和更新到 EF 多个表中

是否可以在实体框架中将表FK链接到另外两个PK?

Zend 2中两个表的并集

如何创建队列系统以在zend框架2.2中发送电子邮件。

使用实体框架将数据插入相关表中

无法使用镜头 kudu sink 连接器将数据从 kafka 主题插入或更新到 kudu 表