我正在尝试从预定义数据中保存多个对象。它只保存第一组数据,或者如果我更改代码,它将数据保存为“数组”。 这是代码:
<?php
$category = array(
'Account/Profile',
'Blogs',
);
$question = array(
'How do I change my email notifications',
'How do I edit my profile details',
'What is a blog?',
);
$answer = array(
'<p>To change your email notifications</p>',
'<p>To change your profile details</p>',
'<p>A weblog, or blog, is.</p>',
);
$questionCount = count($question);
for ($i = 0; $i <= $questionCount; $i++) {
$faq = new Object();
$faq->category = $category[$i];
$faq->question = $question[$i];
$faq->answer = $answer[$i];
}
$didSave = $faq->save();
如何从数组中提取数据并使用该数据创建多个对象?
答案 0 :(得分:0)
你走了......
$cats = array('Account/Profile', 'Blogs');
$question = array(
'How do I change my email notifications',
'What is a blog?',);
$answer = array(
'<p>To change your email notifications you can do so from notifications page</p>',
'<p>A weblog, or blog, is arguably one of the fundamental DNA pieces of most types of social networking site.</p>',);
//Then count the questions and iterate
for($i=0;$i<=count($question);$i++)
{
$object = New Object; //Your object class
//NEW OBJECT TO SAVE, I call it object, but you have to fill this in,
//with whatever class/object it is youre creating, and saving
$object->category = $cats[$i];
$object->question = $question[$i];
$object->answer = $answer[$i];
$object->save();
}
基于您的回复的新编辑
for($i=0;$i<=count($question);$i++)
{
$faq = new ElggObject();
$faq->subtype = 'faq';
$faq->container_guid = $CONFIG->site_guid;
$faq->owner_guid = $CONFIG->site_guid;
$faq->category = $cats[$i];
$faq->question = $question[$i];
$faq->answer = $answer[$i];
$faq->access_id = $access;
if($faq->save()) {
system_message(elgg_echo("faq:add:success"));
} else {
register_error(elgg_echo("faq:add:error:save"));
}
}