Php Zend Framework 2和mySql查询

Php Zend Framework 2和mySql查询,php,mysql,zend-framework2,Php,Mysql,Zend Framework2,我的情况是,我有数据要添加到MySQL中的两个表Login和Customer Details中。Zend Framework 2以一种形式收集数据,同时将其添加到数据库中。MySQL中的两个表都有一个Customer\u ID。在这两个表中Customer\u ID是自动递增的。我希望这样,当通过表单添加数据时,Customer Details中的Customer\u ID是自动递增的,并且它的值被复制到登录表Customer\u ID上 到目前为止,我已经使用LastInserverValue

我的情况是,我有数据要添加到MySQL中的两个表Login和Customer Details中。Zend Framework 2以一种形式收集数据,同时将其添加到数据库中。MySQL中的两个表都有一个Customer\u ID。在这两个表中Customer\u ID是自动递增的。我希望这样,当通过表单添加数据时,Customer Details中的Customer\u ID是自动递增的,并且它的值被复制到登录表Customer\u ID上

到目前为止,我已经使用LastInserverValue()进行了尝试,我已经尝试将登录名的Customer_ID设置为FK,我已经尝试手动将Customer_ID分配给登录名,但没有成功。 在我使用的上述方法中,它们只添加了客户ID,但客户ID不同

注意:正在添加数据,而不是更新数据


更新:我知道我可以使用last insert ID获取,但因为我在ZF2中使用了两个tablegateway,所以我不知道如何从tablegateway1获取到tablegateway 2的最后一个插入值。您的自动增量应该只在Customer表上。您还可以在登录表上自动增加登录id,但将login.customer\u id设置为外键是完全正确的

在登录过程中,您需要获取customer.customer\u id,然后在登录表中创建一个insert

例如结构:

客户

客户id INT PK,AI

名字

用户名

密码

登录

id PK,AI

客户识别码(FK)客户。客户识别码

创建于

在这两个表中,客户id都是自动递增的

首先从另一个表登录中删除customer_id的自动增量。 使用tablegateway1在Customer表中插入值,并获取最后一个插入值 现在,使用表gateway2在登录表中为customer_id更新此值


这应该是可行的。

正如Paul Sellars所提到的,如果您将AI从一个表中删除,那么您的问题将得到解决。在定义AI的表中,将数据插入到它们的第一个和最后一个插入id中。使用该值,将记录更新/插入到未定义AI的另一个表中。

感谢Paul的回答。但是,当所有值一起更新时,如何获取customer.customer\u Id呢。我知道我可以使用last insert ID获取数据,但因为我在ZF2中使用了两个tablegateway用于两个表,所以我不知道如何从tablegateway1获取到tablegateway 2的最后一个插入值。因此,这更像是一个注册表单,而不是一个登录表单吗?