Laravel:多对多插入

时间:2017-04-28 08:18:36

标签: php laravel-5.4

当我尝试在我的skill_user中插入与用户和技能表有多对多关系的数据时,我收到以下错误。用户表中存在用户ID no 14,技能表中也存在技能ID no 1。 我执行的命令是App\user::find(14)->skill()->save(1);

  

PHP错误:传递给Illuminate \ Database \ Eloquent \ Relations \ BelongsToMany :: save()的参数1必须是Illuminate \ Database \ Elo的实例   quent \ Model,给定整数,在C:\ xampp \ htdocs \ tellworld-api \ vendor \ psy \ psysh \ src \ Psy \ ExecutionLoop \ Loop.php(90)中调用:eval()'代码在l上   ine 1并在C:\ xampp \ htdocs \ tellworld-api \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Eloquent \ Relations \ BelongsToMany.php中定义   第708行

1 个答案:

答案 0 :(得分:3)

在Laravel中使用多对多关系时,您应该使用attach() function链接模型。

因此,在这种情况下,您可以执行以下操作:

App\user::find(14)->skill()->attach(1);