Kohana/PHP记录在循环内运行时会被替换
我的代码中有以下代码片段,但问题是当我尝试添加多个项目时。它正在被添加,但它正在重新分解先前添加的行,例如:-在下面的代码段中,id 150只有一条记录,而该记录将为13。你能告诉我是什么问题吗Kohana/PHP记录在循环内运行时会被替换,php,kohana-3,Php,Kohana 3,我的代码中有以下代码片段,但问题是当我尝试添加多个项目时。它正在被添加,但它正在重新分解先前添加的行,例如:-在下面的代码段中,id 150只有一条记录,而该记录将为13。你能告诉我是什么问题吗 public function StoreSkills($skills,$id) { $skills = "16,13"; $id = "150"; if(!empty($skills)){ $UserSkillsObj = ORM::factory('u
public function StoreSkills($skills,$id) {
$skills = "16,13";
$id = "150";
if(!empty($skills)){
$UserSkillsObj = ORM::factory('userskill');
$userskills = explode(',',$skills);
foreach($userskills as $skill)
{
// $UserSkillsObj = ORM::factory('userskill'); if this statement is here,
//records are getting added just fine.
$UserSkillsObj->user_id = $id;
$UserSkillsObj->skills_id = $skill;
$ids = $UserSkillsObj->save();
}
}
}
将创建对象的线移动到foreach循环中。将其置于外部意味着您总是引用同一个对象,因此最终(第二个)循环将保存在第一个循环上,使其始终为13 例如:
foreach($userskills as $skill)
{
$UserSkillsObj = ORM::factory('userskill');
$UserSkillsObj->user_id = $id;
$UserSkillsObj->skills_id = $skill;
$ids = $UserSkillsObj->save();
}