我已经尝试了大约 10 次,但仍然无法做到。所以这就是我想做的。
我正在尝试插入一个有多个问题且每个问题都有多个选项的测验。
测验 -- 有很多 --> 问题 -- 有很多 --> 选项
例如:
This is a Quiz?
Question 1?
Option 1
Option 2
Question 2?
Option 1
Option 2
我有 3 个表来存储测验问题和答案
。所有这些都已正确链接,我能够毫无问题地获取和显示测验。
但我想插入一个测验。我知道如何插入数据与单个有很多关系,但完全不知道如何插入数据与 2 或更多有很多关系。
$quiz = new Quiz;
...
$quiz->save();
$questions = [new Question, new Question, ...];
$quiz->questions()->saveMany($questions);
我可以插入测验和与该测验相关的多个问题,但现在我还想为每个问题插入多个选项,例如 $options1、$options2
等.
我是 laravel 的新手。
最佳答案
你需要有这样的东西
class Quiz extends Eloquent {
protected $table = "you table name here";
public function questions() {
return $this->hasMany("Question", "question_id", "id");
//where Question is your model for questions table
}
}
class Question extends Eloquent {
protected $table = "you table name here";
}
$quiz = new Quiz;
//set quiz data here
// $quiz->name = "name";
$quiz->save();
for ($i = 0; $i < count($questions); $i++) {
$arr[$i] = new Question;
$arr[$i]->quize_id = $quiz->id;;
// Set other data here
}
$quiz->questions()->saveMany($arr);
关于php - Laravel 使用 Eloquent 插入数据有两个有很多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26866700/