Reputation: 3002
I'm trying to save my Pivot but nothing happened, it doesnt prompt any error I dunno where to debug cause there is no prompt, any idea ? attached here is my code.
Controller note: Email and Name is updating properly.
public function update(Request $request, User $User)
{
$user=auth()->user();
$User->name = $request->get('name');
$User->email = $request->get('email');
$User->warehouse_id = $request->get('warehouse_id');
$User->role_id = $request->get('role_id');
$User->save();
$User->roles()->updateExistingPivot($request->get('role_id'), ['role_id' => $request->get('role_id')]);
$User->warehouse()->updateExistingPivot($request->get('warehouse_id'), ['warehouse_id' => $request->get('warehouse_id')]);
return redirect()->route('user.index');
}
Model for relationship
Warehouse
class Warehouse extends Model
{
protected $fillable = ['warehouse','warehouse_description','created_by'];
public $primaryKey='id';
public function users()
{
return $this->belongsToMany(User::class);
}
}
User
public function roles()
{
return $this->belongsToMany(Role::class);
}
public function warehouse()
{
return $this->belongsToMany(Warehouse::class);
}
Role
class Role extends Model
{
protected $fillable = ['role'];
public $primaryKey='id';
public function users()
{
return $this->belongsToMany(User::class);
}
}
Upvotes: 2
Views: 112
Reputation: 3002
What I did was putting isnerting the previews id before yusing updateExistingPivot
Here is my Controller
public function update(Request $request, User $User) {
$User->name = $request->get('name');
$User->email = $request->get('email');
$User->warehouse_id = $request->get('warehouse_id');
$User->role_id = $request->get('role_id');
$User->roles()->updateExistingPivot($User->role_id, ['role_id' => $request->get('role_id')]);
$User->warehouse()->updateExistingPivot($User->warehouse_id, ['warehouse_id' => $request->get('warehouse_id')]);
$User->save();
return redirect()->route('user.index');
}
Upvotes: 1