我正在使用 PHP 编写一个 Web 应用程序。我第一次开始使用 Propel ORM。我正在从数组中读取值并将它们发送到具有 Propel 插入查询的函数。功能是这样的。
public function someFunction
{
$nid=10;
$sample_array = array("first","second");
foreach($sample_array as $items){
$this->saveTags($items,$nid);
}
}
public function saveTags($tags,$nid)
{
error_log("SetTag: ".$this->tags->setTag($tags));
error_log("SetNid: ".$this->tags->setNid($nid));
error_log("Save: ".$this->tags->save());
}
当我执行程序时,第一项“first”保存但立即被第二项即“second”覆盖。以下是apache错误日志。
SetTag: Tid: null\nNid: null\nTag: first\n
SetNid: Tid: null\nNid: 30\nTag: first\n
Save: 1
SetTag: Tid: 11\nNid: 30\nTag: second\n
SetNid: Tid: 11\nNid: 30\nTag: second\n
Save: 1
如您所见,第一项被第二项取代!有什么解决方案可以防止这种情况吗?
谢谢