使用雄辩的ORM将多维数组从post数组保存到数据库中

时间:2014-11-22 08:15:08

标签: php loops laravel

我的帖子数组中有多维数组,我希望使用laravel的雄辩的ORM保存到我的数据库中。这是代码:

$q = new Quiz;
$data = Input::get();

    for($i=0; $i < $query->no_questions; $i++)
    {
        $q->question = $data['question'][$i];
        $q->answers = json_encode($data['answers'][$i]);
        $q->correct_answer = $data['correctAnswer'][$i];
    }
$q->save();

然而,当我转储$ q []的内容时,我只看到一条记录恰好是数组中的最后一条记录。有没有办法让我在每次迭代期间将每一行追加到$ q []?

例如

$a[0] = array();
$a[1] = array();
$a[2] = array();

如何在for循环中将$ a,$ b和$ c附加到$ q []。以上只是我想要实现的一个例子。

如果我的帖子不够清楚,请告诉我,提前谢谢你。 :)

1 个答案:

答案 0 :(得分:2)

您需要移动创建一个新对象并将部分保存到循环中。否则,您始终使用相同的模型实例进行操作,并且最后只保存这一个实例。

这应该有效:

$data = Input::get();
for($i=0; $i < $query->no_questions; $i++)
{
    $q = new Quiz;
    $q->question = $data['question'][$i];
    $q->answers = json_encode($data['answers'][$i]);
    $q->correct_answer = $data['correctAnswer'][$i];
    $q->save();
}