Kohana3和MySQL:是否可以保留相关记录?

时间:2012-09-19 13:57:17

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

我不确定这个问题是关于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 ();
    }

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

1 个答案:

答案 0 :(得分:1)

无法“刷新”表格数据。

据我所知 - 您的交易数组可能与表内容不同(某些数组记录是新的,有些表记录是旧的,必须删除,有些记录必须刚刚更新)。

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

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