将对象从数组保存到数据库

时间:2013-06-09 23:45:40

标签: php arrays save

我正在尝试从预定义数据中保存多个对象。它只保存第一组数据,或者如果我更改代码,它将数据保存为“数组”。 这是代码:

<?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();

如何从数组中提取数据并使用该数据创建多个对象?

1 个答案:

答案 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"));
    }

}