как загрузить дополнительные документы - PullRequest
0 голосов
/ 29 марта 2020

Мне нужно загрузить несколько файлов по желанию. здесь я добавляю код

<form action="{{ route('UserConfirmation', app()->getLocale()) }}" enctype="multipart/form-data" method="post">
<div class="form-group form-control">{{ csrf_field() }}
  <input type="tel" name="ContactNo" value="{{ old('ContactNo') }}" required>
  <input class="form-control"  type="file" name="nic" required><br>
  <input class="form-control"  type="file" name="BillingProof" ><br>
  <input class="form-control"  type="file" name="CashSlip" ><br>
  <input class="btn btn-primary" type="submit" name="submit" ><br>
</div>
</form>

здесь есть два обязательных поля, остальные не обязательны, поэтому мне нужно сохранить их в базе данных как пустые, здесь я добавляю свой текущий контроллер.

public function store(Request $request)
    {
       //dd($request);
       $validator = Validator::make($request->all(), [
        'ContactNo' =>  ['required', 'string','max:15'],
    ]);
    if ($validator->fails()) { 
        return redirect()->back() ->withErrors($validator)->withInput();
     }

    $nicPath = $request->file('nic')->store('public');
    $billPath = $request->file('BillingProof')->store('public');
    $CashSlipPath = $request->file('CashSlip')->store('public');

    $UC = $request->all();
    $UserCon= new UserConfirm();
    $UserCon->ContactNo = $UC['ContactNo'];
    $UserCon->NIC = str_replace('public/', '', $nicPath );
    $UserCon->BillingProof = str_replace('public/', '', $billPath );
    $UserCon->CashSlip = str_replace('public/', '', $CashSlipPath );
    $UserCon->Status = "none";   
    $UserCon->Remark = "none";  
    $UserCon->save();

    Session::flash('UserConfirm','We recived your Documents and we are working on it');
    return redirect()->route('feedback',app()->getLocale());
    }

а также я добавляю атрибут nullable к полям таблицы. здесь я прилагаю изображение таблицы enter image description here

1 Ответ

0 голосов
/ 29 марта 2020

Сначала проверьте, был ли файл отправлен:

$billPath = $request->hasFile('BillingProof') ? $request->file('BillingProof')->store('public') : null;
$CashSlipPath = $request->hasFile('CashSlip') ? $request->file('CashSlip')->store('public') : null;

, а затем сохраните его в своем хранилище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...