我的帖子数组中有多维数组,我希望使用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 []。以上只是我想要实现的一个例子。
如果我的帖子不够清楚,请告诉我,提前谢谢你。 :)
答案 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();
}