问题模型:
$this->hasMany('App\Option');
选项模型:
$this->belongsTo('App\Question');
问题控制器
$question = new Question;
$question->question = 'Question';
$question->options()->attach(['option1', 'option2', 'option3', 'option4']);
我正在尝试附加选项数据,但它显示错误“调用未定义的方法Illuminate \ Database \ Query \ Builder :: attach()”
如何以正确的方式附加和同步?
答案 0 :(得分:0)
一对多的关系没有方法attach()
。attach()
方法仅适用于关系ManytoMany
。您可以使用id
某个模型。
答案 1 :(得分:0)
这样做:
$question = new Question;
$question->question = 'Question';
$question->save(); // Model should be saved before attaching children
$question->options()->saveMany([
new Option(['name' => 'option1'),
new Option(['name' => 'option2'),
new Option(['name' => 'option3')
]);