如何在Laravel中使用Attach或sync方法在数据透视表中插入多个值

时间:2018-12-17 05:49:09

标签: php laravel

我正在与laravel建立多对多关系。在我的数据库种子文件中,我使用pivot_table之类的方法-{

attach()

但是当我运行 $role_admin->permissions()->attach(array($permission_create,$permission_read,$permission_update,$permission_delete)); 时,会显示此错误。

  

PDOException::(“” SQLSTATE [HY000]:常规错误:1366不正确的整数值:'{“ id”:1,“ name”:“ Create”,“ slug”:“ Create”,“ description”:“这是基本的创建权限”,“ created_at”:“ 2018-12-17 05:23:31”,“第1行的'permission_id'列的upda”)

如果我使用db:seed artisan command而不是sync(),则显示此错误。

  

ErrorException:偏移量类型非法

现在,我想知道如何在attach() permisson_role

中一次实现多个价值

这是我的pivot Table示例...

RoleTableSeeder

1 个答案:

答案 0 :(得分:1)

->first()不返回ID,您应该这样使用:->first()->id