У меня есть функция обновления в моем пользовательском контроллере, которая не работает должным образом
, когда я хочу обновить роль пользователя из отношения "многие ко многим" в моделях с помощью функции обновления ... но я получаю эту ошибку:
SQLSTATE [23000]: нарушение ограничения целостности: 1048 Столбец 'user_id' не может быть пустым (SQL: вставить в role_user
(role_id
, user_id
) значения (2,?))
но в функции магазина я не получаю эту ошибку
я использую LARAVEL 6
модель пользователя:
public function role(){
return $this->belongsToMany(role::class , 'role_user' ,'user_id','role_id');
}
образец для подражания:
public function user(){
return $this->belongsToMany(user::class ,'role_user' ,'role_id','user_id');
}
моя функция в контроллере
public function update(Request $request, user $user)
{
if ( $request['image']){
$file = $request['image'];
$imgname = $file->getClientOriginalName();
$img=$this->ImageProfileUploader ($file,'/upload/profile/');
}else{
$imgname=$user->image;
}
$data=$request->all ();
$data['image']=$imgname;
$user->role()->sync ($request->input ('role'));
$user->update ($data);
session()->flash('update_user','کاربر مورد نظر با موفقیت بروزرسانی شد');
return back();
}