【问题标题】:store data in pivot table in laravel在 laravel 的数据透视表中存储数据
【发布时间】:2020-09-01 06:53:40
【问题描述】:

我有两个表用户表和项目表,它们与多对多关系 project_user 表链接。我想在创建项目时存储项目 ID,并且用户在数据透视表项目用户中,但出现以下错误 array_key_exists():第一个参数应该是字符串或整数

我的项目控制器

 public function store(Request $request)
{
     request()->validate([
        'name' => 'required',
        'detail' => 'required',
        'location'=>'required',
        'total_cost'=>'required',
        'users' => 'required'

    ]);  
    $project = new Project;
    $project->user_id = auth()->user()->id;
    $project->user = $request->input('users');
    $users = $request->has('users') ? $request->get('users') : [];
    $user2= User::find($users); 

    $project->users()->attach($request->input([$project ,$project->user_id]));
return redirect()->route('projects.index')
                    ->with('success','Project created successfully.');
}

【问题讨论】:

    标签: laravel eloquent pivot pivot-table


    【解决方案1】:

    您在$request->input() 方法上传递Project 模型实例,该方法不是write。

    要解决您的问题,请按照这种方式进行

    $userIds = $request->get('users'); // Example value like: [9, 8, 29]
    $project->users()->attach($userIds);
    

    就是这样!

    【讨论】:

      猜你喜欢
      • 2021-08-29
      • 2019-04-07
      • 1970-01-01
      • 2020-07-29
      • 2018-04-10
      • 2015-03-22
      • 2019-03-20
      • 1970-01-01
      • 2021-05-31
      相关资源
      最近更新 更多