我不确定这个问题是关于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和外键连接的结构。另外,我不想改变模型中的任何关系。 我还有其他选择吗? 谢谢。
答案 0 :(得分:1)
无法“刷新”表格数据。
据我所知 - 您的交易数组可能与表内容不同(某些数组记录是新的,有些表记录是旧的,必须删除,有些记录必须刚刚更新)。
在这种情况下,你的方式是最正确的。删除表中的所有记录,然后在表中填入新记录。
如果你想用新的表格真正“刷新”表数据,你必须编写一个函数来比较每条记录(如果这条记录在表中或不在表中),并且在比较后删除旧记录,插入新记录或更新带有新数据的旧记录。