以一对多关系laravel附加或同步

问题描述 投票:1回答:2

问题模型:

$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()”

如何以正确的方式附加和同步它?

php laravel one-to-many relation
2个回答
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')
]);

-1
投票

一对多关系没有方法attach()attach()方法仅对关系ManytoMany有效。您可以只使用其中一个模型的id

© www.soinside.com 2019 - 2024. All rights reserved.