Laravel wherePivot与同步方法不起作用

时间:2018-08-24 07:17:41

标签: laravel many-to-many laravel-5.5

我正在尝试同步数据,但是会发生错误。

  

SQLSTATE [HY000]:常规错误:1364字段'model_type'没有默认值(SQL:插入model_has_rolesdealerdealership_id,{{1} },model_id)值(1、61、85、13))

//控制器代码

role_id

//用户模型

$user = User::findOrFail($id);
        $user->first_name = $request->get('first_name');
        $user->last_name = $request->get('last_name');
        $user->phone = $request->get('phone_no');
        $user->title = $request->get('title');
        $user->mobile = $request->get('mobile');
        $user->save();

        $user->dealerRoles()->wherePivot('dealership_id', session('dealership_id'))->sync([$request->get('role_id') => ['dealer' => true, 'dealership_id' => session('dealership_id')]]);

1 个答案:

答案 0 :(得分:0)

您需要添加同步方法$ user-> dealerRoles()-> wherePivot('dealership_id',session('dealership_id'))-> sync([$ request-> get('role_id')=> [ 'model_type'=> 1,'dealer'=> true,'dealership_id'=> session('dealership_id')]]));