【问题标题】:Updating Pivot Table Laravel 5.4更新数据透视表 Laravel 5.4
【发布时间】:2017-08-01 01:56:53
【问题描述】:

我正在尝试保存我的 Pivot 但什么也没发生,它没有提示任何错误我不知道在哪里调试因为没有提示,知道吗?附在这里是我的代码。

控制器注意:电子邮件和姓名正在正确更新。

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');
    }

关系模型

仓库

class Warehouse extends Model
{
    protected $fillable = ['warehouse','warehouse_description','created_by'];

    public $primaryKey='id';

    public function users()
    {
        return $this->belongsToMany(User::class);
    }
}

用户

public function roles()
{
    return $this->belongsToMany(Role::class);
}

public function warehouse()
{
    return $this->belongsToMany(Warehouse::class);
}

角色

class Role extends Model
{
    protected $fillable = ['role'];

    public $primaryKey='id';

    public function users()
    {
        return $this->belongsToMany(User::class);
    }
}

【问题讨论】:

    标签: laravel laravel-5.4


    【解决方案1】:

    我所做的是在使用 updateExistingPivot 之前先对预览 ID 进行更新

    这是我的控制器

    公共函数更新(请求 $request,用户 $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');
    }
    

    【讨论】:

      猜你喜欢
      • 2018-02-26
      • 2017-12-15
      • 2018-08-21
      • 1970-01-01
      • 1970-01-01
      • 2016-03-09
      • 1970-01-01
      • 2021-10-03
      • 1970-01-01
      相关资源
      最近更新 更多