0

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

因此,我下面的代码刷新了表,但从另一个表中删除了其他相关记录。下面的代码在 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 表,不会丢失任何链。我不想更改数据库和外键连接的结构。我也不想改变模型中的任何关系。我还有其他选择吗?谢谢你。

4

1 回答 1

1

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

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

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

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

于 2012-09-21T10:28:31.713 回答