在zf2上同时在2个表上添加数据

劳乌

我有两张桌子

表出售:

 id_sale    int
 id_projet  int
 price      float
 date       date

Sale_line表:

id_sale_ligne  int
id_sale        int FK_SALE
id_projet      int
price          float
date           date

即时通讯问我制作新记录时如何在具有相同id_sale的sale_line上插入记录。我知道这是一个很大的问题,但我确实陷在这里,我可以在ZF官方文档中找到此示例,因此任何人都可以帮助我提出建议或提供完整示例的参考文献来解释我的情况

太谢谢了

0

有几种方法可以做到这一点。最简单的方法可能是在您第一次将SQL查询插入后执行另一个SQL查询sale您可以执行以下操作:

// Insert sale and get the ID
$this->dbAdapter->query('INSERT INTO sale (price, date) VALUES (?, ?)', array('price', 'date'));
$salesId = $this->dbAdapter->getDriver()->getLastGeneratedValue();

$this->dbAdapter->query('INSERT INTO sale_ligne (price, date, id_sale) VALUES (?, ?, ?)', array('price', 'date', $salesId));

请不要在上面的示例中省略了错误处理。getLastGeneratedValue假设您在sale表的主键上使用自动递增,方法将返回最后生成的ID

或者,您可以使用来在存储过程中执行相同的操作LAST_INSERT_ID()由于表的性质,您可能需要指定要插入sale_ligne表中的数据(即,值不等于默认列值)。否则,可能可以在sale上添加一个插入触发器,然后在该触发器内进行插入。但是,第一种方法或在存储过程中将更易于实现,并为您提供更多控制权,并使其他开发人员更容易理解流程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ZF2中将数据添加到mysql表

来自分类Dev

ZF2数据库表未返回实例

来自分类Dev

zf2段路线在最后位置上的捕获ID

来自分类Dev

ZF2 +组合键上的重复表格验证

来自分类Dev

使用ZF2更改Doctrine上的DefaultEntityListenerResolver

来自分类Dev

为什么要在ZF2上使用服务?

来自分类Dev

在zf2上使用会话(恢复容器)

来自分类Dev

ZF2上具有集合的FilePrg

来自分类Dev

ZF2 +组合键上的重复表格验证

来自分类Dev

使用ZF2更改Doctrine上的DefaultEntityListenerResolver

来自分类Dev

ZF2向元素添加样式

来自分类Dev

ZF2向元素添加样式

来自分类Dev

ZF2保存到多个表

来自分类Dev

ZF2将数据插入Db

来自分类Dev

ZF2嵌套数据验证

来自分类Dev

在按钮上单击时在android中添加片段,并同时向其中添加数据

来自分类Dev

ZF2翻译

来自分类Dev

同时从2个表中获取数据

来自分类Dev

ZF2从数据库动态添加元素以形成表格

来自分类Dev

用户在zf2项目的学说实体中的PrePersist上创建的引用集

来自分类Dev

如何在zf2中的select字段上应用readonly属性?

来自分类Dev

用户在ZF2项目的学说实体中在PrePersist上创建的引用集

来自分类Dev

ZF2上的渲染问题,尝试渲染布局以获取HTML代码

来自分类Dev

ZF2 Autoloader:在扩展类上也将工厂用于基类

来自分类Dev

重构每个Zf2控制器操作上的一些调用

来自分类Dev

如何在ZF2表单元素上设置自动对焦?

来自分类Dev

ZF2 AbstractTableGateway 上具有多个结果集的条件

来自分类Dev

在poly2tri中的PolygonPoints上附加数据

来自分类Dev

在poly2tri中的PolygonPoints上附加数据