Загрузка файла в Laravel - PullRequest
       12

Загрузка файла в Laravel

0 голосов
/ 19 апреля 2020

Я новичок в 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>

Как я могу сделать идентификатор динамическим?

1 Ответ

0 голосов
/ 22 апреля 2020
  1. изменить загрузочный диск

 @foreach(Auth::user()->program->courses as $course)
    	<option value="{{ $course->id }}"
    			{{ isset($course)
    				? ($course->id == $yourmodel->course_id
    				? 'selected'
    				: null)
    			: null }}>
    		{{ $course->title  }}
    	</option>
    @endforeach
  1. На контроллере

$yourmodel = new YourModel();
 return redirect('home')->with('status', 'You uploaded your projectfile')->with('yourmodels',$yourmodel);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...