我想将表单数据插入 moodle db,
我有2个表,每当我试图同时插入时需要更新,
这是我的代码
$result = $DB->update_record('newmodule', $newmodule);
if (!$DB->get_record('newmodule1', array('course_id' => $newmodule->id))) {
//now i need to insert data to db
//object builder
foreach ($newmodule as $key => $value) {
if($key == 'time' || $key == 'audio' || $key == 'entxt' || $key == 'fatxt' || $key == 'url'){
$new->$key = $value;
}elseif ($key == 'id') {
$new->course_id = $value;
}
}
//just trying for finding a way
$result = $DB->insert_records('newmodule1', $new);
}
每次尝试插入数据时都会得到这个
检测到编码错误,必须由程序员修复: insert_records()传递了不可遍历的对象
如何拆分stdclass,然后将每个部分插入db?
答案 0 :(得分:0)
好的,我找到了工作解决方案,
for ($i=0; $i <=count($newmodule->time); $i++) {
$new->course_id = $newmodule->id;
$new->videourl = $newmodule->url;
$new->audio = $newmodule->audio[$i];
$new->time = $newmodule->time[$i];
$new->entxt = $newmodule->entxt[$i];
$new->fatxt = $newmodule->fatxt[$i];
$DB->insert_record('newmodule1', $new);
unset($new);
}
我所做的只是读取数组对象然后创建新对象然后将其提交给db然后取消设置所有创建的对象,那就是全部
ps:大声笑我的问题是否定的,因为1个人对moodle一无所知!哇!