【问题标题】:Kohana3 and MySQL: is it possible to keep related records?Kohana3 和 MySQL:是否可以保留相关记录?
【发布时间】:2012-09-19 13:57:17
【问题描述】:

我不确定这个问题是关于 MySQL 数据库还是关于框架。我认为两者兼而有之。

所以,我下面的代码刷新了表,但从另一个表中删除了其他相关记录。下面的代码在 Kohana3 框架中。

ORM::factory ( 'deal' ) ->delete_all (); //removes data
    foreach ( $deals as $deal )
    {
      //refreshes the Deals table row by row
      $orm_deal = ORM::factory ( 'Deal' );
      //... apply some values
      $orm_deal = ->save ();
    }

问题:我不想从其他表中删除记录。如果 Deals 中的“新鲜”记录与相关记录绝对兼容,是否可以通过更新的数据“更新”Deals 表,不会丢失任何链。 我不想更改数据库和外键连接的结构。我也不想改变模型中的任何关系。 我还有其他选择吗? 谢谢。

【问题讨论】:

  • 您只是想刷新每笔交易?为什么要删除所有交易而不仅仅是更新它们?如果您想使用新交易更新表格并希望以某种方式保持现有关系,您将不得不手动更新或重新分配关系,我猜......

标签: mysql kohana kohana-3 foreign-key-relationship kohana-orm


【解决方案1】:

没有办法“刷新”表数据。

据我了解 - 您的交易数组可能与表内容不同(一些数组记录是新的,一些表记录是旧的并且必须删除,一些记录必须刚刚更新)。

在这种情况下,你的方法是最正确的。从表中删除所有记录,然后用新记录填充表。

如果你想用新的数据真正“刷新”表数据,你必须编写一个函数来比较每条记录(如果这条记录在表中),比较后删除旧记录,插入新记录或更新旧记录与新数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 2018-05-15
    • 2010-11-08
    • 1970-01-01
    相关资源
    最近更新 更多