如何在不删除或替换旧记录的情况下更新海量记录。我的问题是最后插入的记录将替换为最新记录。
/*DB::table('syllabuses')
->where('course_id', $curse_id)
->Where('semster',$semesterid)
->delete();*/
$Syllabus = Syllabus::find($id);
foreach ($data as $value)
{
//$Syllabus = new Syllabus;//
$Syllabus->slno = $value->SlNo;
$Syllabus->coursecode =$value->cousrecode;
$Syllabus->coursename =$value->coursename;
$Syllabus->credit =$value->credit;
$Syllabus->papertype=$value->papertype;
$Syllabus->deptoffering_name=$value->Deptoffer;
$Syllabus->deptoffering_id=$value->Department;
$Syllabus->dept_id = $details['depart'];
$Syllabus->save();
}
答案 0 :(得分:0)
请先尝试了解INSERT和UPDATE之间的区别。绝对更新查询替换相关记录的旧值。在查询中,您要更新相同的“课程提纲”。
$Syllabus = Syllabus::find($id);
foreach ($data as $value)
{
//$Syllabus = new Syllabus;//
$Syllabus->slno = $value->SlNo;
$Syllabus->coursecode =$value->cousrecode;
$Syllabus->coursename =$value->coursename;
$Syllabus->credit =$value->credit;
$Syllabus->papertype=$value->papertype;
$Syllabus->deptoffering_name=$value->Deptoffer;
$Syllabus->deptoffering_id=$value->Department;
$Syllabus->dept_id = $details['depart'];
$Syllabus->save();
}
在上面的代码中,您在foreach之外找到了课程提纲。然后,您更新在foreach中找到的记录。如果要更新许多“课程提纲”,请尝试以下操作:
foreach ($data as $value)
{
$Syllabus = Syllabus::find("SyllabusID");
$Syllabus->slno = $value->SlNo;
$Syllabus->coursecode =$value->cousrecode;
$Syllabus->coursename =$value->coursename;
$Syllabus->credit =$value->credit;
$Syllabus->papertype=$value->papertype;
$Syllabus->deptoffering_name=$value->Deptoffer;
$Syllabus->deptoffering_id=$value->Department;
$Syllabus->dept_id = $details['depart'];
$Syllabus->save();
}
否则,如果您想保留旧记录,请尝试使用以下代码在db中创建新记录
foreach ($data as $value)
{
$Syllabus = new Syllabus();
$Syllabus->slno = $value->SlNo;
$Syllabus->coursecode =$value->cousrecode;
$Syllabus->coursename =$value->coursename;
$Syllabus->credit =$value->credit;
$Syllabus->papertype=$value->papertype;
$Syllabus->deptoffering_name=$value->Deptoffer;
$Syllabus->deptoffering_id=$value->Department;
$Syllabus->dept_id = $details['depart'];
$Syllabus->save();
}
有关详细信息,请阅读laravel官方文档:https://laravel.com/docs/5.7/eloquent