前提・実現したいこと
プログラミング初学者です。 現在PHP(Laravel)でプロジェクトに社員をアサインするシステムを作成中です。 プロジェクトの開始日から終了日までの期間に他のプロジェクトにアサインされていない社員を表示させ、社員をプロジェクトに追加(アサイン)する機能を実装したいです。 中間テーブルにproject_id(unsignedBigInteger),user_id(unsignedBigInteger),start_date(date),end_date(date)を保存したいです。 上記を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
Argument 2 passed to Symfony\Component\HttpFoundation\RedirectResponse::__construct() must be of the type integer, array given, called in /home/ec2-user/environment/projectmanagement/vendor/laravel/framework/src/Illuminate/Routing/Redirector.php on line 203
該当のソースコード
PHP(Laravel)
1 2◾️Migration 3class CreateProjectUserTable extends Migration 4{ 5 /** 6 * Run the migrations. 7 * 8 * @return void 9 */ 10 public function up() 11 { 12 Schema::create('project_user', function (Blueprint $table) { 13 $table->unsignedBigInteger('project_id'); 14 $table->unsignedBigInteger('user_id'); 15 $table->date('start_date'); 16 $table->date('end_date'); 17 $table->timestamps(); 18 //複合キーを定義 19 $table->primary(['project_id','user_id']); 20 }); 21 } 22 23 /** 24 * Reverse the migrations. 25 * 26 * @return void 27 */ 28 public function down() 29 { 30 Schema::dropIfExists('project_user'); 31 } 32} 33◾️Model 34 35class Project extends Model 36{ 37 protected $guarded = []; 38 39 public function users() 40 { 41 return $this->belongsToMany('App\User')->withPivot('start_date','end_date')->withTimestamps(); 42 } 43 44} 45 46◾️Controller 47class ProjectController extends Controller 48{ 49 50 public function record(Request $request) 51 { 52 $project = Project::find($request->id); 53 54 $project->users()->sync([$request->user_id => ['start_date' => $request->start_date,'end_date' => $request->end_date]]); 55 56 return redirect('admin/project/index',compact('project')); 57 } 58} 59 60◾️View 61@section('content') 62<div class="container"> 63 <div class="row"> 64 <h2>プロジェクト</h2> 65 </div> 66 <div class="row"> 67 <div class="list-news col-md-12 mx-auto"> 68 <table class="table table-dark"> 69 <thead> 70 <tr> 71 <th>プロジェクト名</th> 72 <th>開始日</th> 73 <th>終了日</th> 74 <th>人数</th> 75 <th>必要資格・人数</th> 76 </tr> 77 </thead> 78 <tbody> 79 <tr> 80 <td>{{ $project->project_name }}</td> 81 <td>{{ $project->start_date }}</td> 82 <td>{{ $project->end_date }}</td> 83 <td>{{ $project->number_of_people }}</td> 84 @foreach($project->licenses as $license) 85 <td>{{ $license->name }}×{{ $license->pivot->required_least_count }}人</td> 86 @endforeach 87 </tr> 88 </tbody> 89 </table> 90 </div> 91 </div> 92 <div class="row"> 93 <div class="list-news col-md-12 mx-auto"> 94 <h2>アサイン可能な人</h2> 95 <tr> 96 <th></th> 97 <th>名前</th> 98 <th>開始日</th> 99 <th>終了日</th> 100 <th>資格</th> 101 </tr> 102 <form action="{{ action('Admin\ProjectController@record') }}" method="post"> 103 @csrf 104 @foreach($users as $user) 105 <tr> 106 <td><img src="{{ asset('storage/image/' . $user->image) }}" height="50" width="50"></td> 107 <td>{{$user->name }}</td> 108 <td><input type="date" name="start_date" value="{{ $project->start_date }}"></td> 109 <td>〜<input type="date" name="end_date" value="{{ $project->end_date }}"></td> 110 <td> 111 <input type="submit" class="btn btn-primary" value="追加"> 112 </td> 113 <td><input type="hidden" id="user_id" name="user_id" value="{{ $user->id }}"></td> 114 <td><input type="hidden" id="id" name="id" value="{{ $project->id }}"></td> 115 </tr> 116 @endforeach 117 </form> 118 </div> 119 </div> 120</div> 121 122@endsection
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/18 06:58
2021/02/18 08:18