多対多の関係を更新する方法を教えてもらえますか?私はタスクを持っている、ユーザーは多くのタスクを持つことができますし、タスクは多くのユーザーに(多くの場合、多くの)することができます、私が達成したいのは、更新フォームの管理者が特定のタスクに複数のユーザーを割り当てることができます。これは、これは私のコントローラであるHTML複数選択入力多対多関係の日付を更新する方法
を介して行われます:
public function index()
{
// this is in main view
$tasks=Task::all()->load('users');
$userLogin_id=Auth::user()->id;
$users=User::all()->where('id','!=',$userLogin_id);
return view('adminUser.index',compact('tasks','users'));
}
public function store(Request $request)
{
// to create new task and for who it
$task =Task::create($request->all());
$userId=$request['employee'];
$task->users()->attach($userId);
return back();
}
public function edit($task_id)
{
//to go to view that has update code
$task=Task::find($task_id)->load('users');
$userLogin_id=Auth::user()->id;
$users=User::all()->where('id','!=',$userLogin_id);
return view('adminUser.edit',compact('task','users'));
}
public function update(Request $request, $task_id)
{
//to update task
$user_id=$request['employee'];
Task::where('id',$task_id)
->update(['title'=>$request['title'],
'description'=>$request['description'],
'status'=>$request['status'],
'file_path'=>$request['file_path']]);
//what i can do complete this method if it is correct
return redirect('/admin');
}
この私のユーザモデル:
public function tasks(){
return $this->belongsToMany('App\Task','Todos','user_id','task_id');
}
この私のタスクモデル:あなたが意味
public function users(){
return $this->belongsToMany('App\User','todos','task_id','user_id');
}
更新アクションでは、 '$ request ['employee'];'ユーザーの配列ですか? – YouneL
https://laravel.com/docs/5.5/eloquent-relationships#updating-many-to-many-relationships –