Пользователь может зарегистрироваться или зарегистрироваться в качестве соискателя или работодателя. Если он ищет работу, он может создать профиль на странице создания профиля. На форме их 4 входа с типом файла, среди других входов. Смотрите скриншот ниже.
У меня есть таблица с именем job_seeker_profiles, там есть несколько столбцов, но только эти 4 имеют отношение к моей проблеме. resume_id, video_one_id, video_two_id, video_three_id
У меня также есть 2 таблицы, резюме и видео, каждый из которых имеет один столбец с именем «файл». Это работает, пути к файлам вставляются в базу данных.
В моей папке publi c я создал 2 каталога резюме и видео. Здесь я хочу хранить файлы. Эта часть также работает, когда я загружаю только резюме (нет видео, они необязательны) и нажимаю кнопку «Создать профиль». Файл появляется в папке / resumes в моей папке publi c.
Проблема заключается в том, что в столбце resume_id в таблице job_seeker_profiles я вставляю это значение в мою базу данных "/ Applications / XAMPP / xamppfiles / temp / phpx6Dmr" вместо идентификатора файла из таблицы резюме.
Я думаю, может быть, это проблема моих отношений?
Вот мой код.
AdminJobSeekerProfilecontroller. php file:
public function store(JobSeekerCreateRequest $request)
{
if($file = $request->file('resume_id')) {
$name = time() . $file->getClientOriginalName();
$file->move('resumes', $name);
$resume = Resume::create(['file'=>$name]);
$input['resume_id'] = $resume->id;
}
$input = $request->all();
if($file = $request->file('video_one_id')) {
$name = time() . $file->getClientOriginalName();
$file->move('videos', $name);
$video = Video::create(['file'=>$name]);
$input2['video_one_id'] = $video->id;
}
$input2 = $request->all();
if($file = $request->file('video_two_id')) {
$name = time() . $file->getClientOriginalName();
$file->move('videos', $name);
$video = Video::create(['file'=>$name]);
$input3['video_two_id'] = $video->id;
}
$input3 = $request->all();
if($file = $request->file('video_three_id')) {
$name = time() . $file->getClientOriginalName();
$file->move('videos', $name);
$video = Video::create(['file'=>$name]);
$input4['video_three_id'] = $video->id;
}
$input4 = $request->all();
JobSeekerProfile::create($input, $input2, $input3, $input4);
return redirect('/admin/job-seeker/profile/create');
}
Resume. php Модель:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Resume extends Model
{
protected $uploads = '/resumes/';
protected $fillable = ['file'];
//create an accessor
public function getFileAttribute($resumes){
return $this->uploads . $resumes;
}
}
JobSeekerProfile. php Модель:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class JobSeekerProfile extends Model
{
protected $dates = ['date_of_birth'];
protected $fillable = [
'user_id',
'photo_id',
'resume_id',
'video_one_id',
'video_two_id',
'video_three_id',
'first_name',
'last_name',
'email',
'full_or_part_time',
'additional_skills',
'file'
];
public function user(){
return $this->belongsTo('App\User');
}
public function resume(){
return $this->belongsTo('App\Resume');
}
public function video(){
return $this->belongsTo('App\Video');
}
}
Кстати, я знаю, что я должен хранить видеофайлы на чем-то вроде amazon s3, но я хочу, чтобы это работало так: путь на данный момент. И если у вас есть какие-либо рекомендации для Laravel и размещения файлов в облачной системе, это было бы замечательно.