Я новичок в Laravel 6 и создаю приложение для ученика, где каждый ученик может загрузить файл проекта. У меня есть метод с именем Fileupload в моем контроллере. Я могу загрузить файл, и он попадает в базу данных, пока я жестко кодирую идентификатор проекта.
Мой метод контроллера выглядит следующим образом:
public function FileUpload(Request $request)
{
//dd('testupload');
$user = Auth::user();
$project = Project::find(4);
$tmpfile = $request->file('projectfiles');
$filename = 'member_project_file' . $user->id . '.' . $tmpfile->getClientOriginalExtension();
$tmpfile->move('projects', $filename);
//dd($project);
$project->file_upload = $filename;
$project->save();
return redirect('home')->with('status', 'You uploaded your projectfile');
}
Сейчас файл проекта будет хранится в проекте с идентификатором 4. У меня есть таблица с именем «projects», которая содержит столбец с именем «file_upload»
Мой файл просмотра выглядит следующим образом:
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{__('Upload a file')}}</div>
<div class="card-body">
<div class="jumbotron">
<!-- Message -->
@if(Session::has('message'))
<p >{{ Session::get('message') }}</p>
@endif
<!-- Form -->
<form method="post" action="/FileUpload/" enctype='multipart/form-data' >
@csrf
<!-- Courses -->
<div class="form-group">
<label for="course_id">{{__('Course')}}</label>
<select id="course_id" name="course_id" class="form-control">
<option value="">{{__('Please select a course')}}</option>
@foreach(Auth::user()->program->courses as $course)
<option value="{{ $course->id }}"
@if($course->id == old('course_id'))
selected
@endif
>{{ $course->title }}</option>
@endforeach
</select>
</div>
<input type='file' name='projectfiles' >
<input type='submit' name='submit' value='FileUpload'>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Как я могу сделать идентификатор динамическим?