我需要将数据插入到一个表中,并使用tableGateway将数据引用到ZF2中的另一个表中。
例如,当我注册用户时,我必须将用户数据插入到一个表中,并且此用户将数据(多行)哄藏到另一个表中,其中包含插入的用户ID和更新数据的引用也应该有效。 / p>
我已经提到了这个网址: Want to insert into two tables using one form in ZF2
但这对我没有帮助。
我该怎么做?请帮我解决这个问题。
答案 0 :(得分:3)
假设我们在'用户'模型。所以默认情况下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);