Level 1
Controller:
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(ManifestationFormRequest $request)
{
//Noma do arquivo a ser armazenado
$name = date('dmYHis');
//armazena form em dataForm
$dataForm = $request->except('_token');
//Armazena Input File em $file
$file = $request->file('upload');
//Se input file nulo
if ($file = null)
{
//Insere Formulário no Banco
$insert = $this->manifestation->insert($dataForm);
}else
{
//Insere Formulário no Banco
$insert = $this->manifestation->insert($dataForm);
//Pega extensão do arquivo original
$extension = $request->file('upload')->extension();
//Armazena arquivo em Storage/app/uploads e renomeia.
$upload = $request->upload->storeAs('uploads',
$name.'.'.$extension);
}
Alert::success('Enviado...', 'Obrigado pela sua contribuição');
return redirect()->route('index');
}
}
Form
<!-- #formulario -->
<form method="post" action="/gravar" enctype="multipart/form-data">
{{csrf_field()}}
<div class="form-row">
<div class="form-group col-md-3">
<label for="categorias">Escolha o tipo</label>
<select id="categorias" class="form-control form-control-sm" name="FK_cat_id">
@foreach ($category as $categories)
<option value="{{$categories}}">{{$categories}}</option>
@endforeach
</select>
</div>
<div class="form-group col-md-3">
<label for="response">Receber resposta via:</label>
<select class="form-control form-control-sm" name="response">
@foreach ($response as $resposta)
<option value="{{$resposta}}">{{$resposta}}</option>
@endforeach
</select>
</div>
<div class="col-md-6 text-right">
<input type="checkbox" name="anonimo" id="anonimo" onchange="setaCampos(this.checked)" />
Deseja anonimato?
</div>
</div>
@if (count($errors) > 0)
<div id="ERROR_COPY" style="display: none;" class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
</ul>
</div>
@endif
<div class="form-row">
<div class="form-group col-md-6">
<label for="name">Nome</label>
<input type="text" id="name" style="text-transform:uppercase" name="name" class="form-control" placeholder="Nome completo" value="{{ old('name') }}">
</div>
<div class="form-group col-md-6">
<label for="email">Email</label>
<input type="email" name="email" class="form-control" id="email" placeholder="[email protected]" value="{{ old('email') }}">
</div>
</div>
<div id="hideInf" >
<div class="form-row">
<div class="form-group col-md-6">
<label for="rg">RG</label>
<input type="text" name="rg" class="form-control" id="rg" value="{{ old('rg') }}">
</div>
<div class="form-group col-md-6">
<label for="cpf">CPF</label>
<input type="text" name="cpf" class="form-control" id="cpf" value="{{ old('cpf') }}">
</div>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="address">Endereço</label>
<input type="text" name="address" class="form-control" id="address" placeholder="Av, Rua, QD..." value="{{ old('address') }}">
</div>
<div class="form-group col-md-3">
<label for="phone">Telefone</label>
<input type="tel" name="phone" class="form-control" id="phone_with_ddd" placeholder="(xx) ____-____" value="{{ old('phone') }}">
</div>
<div class="form-group col-md-3">
<label for="fax">Fax</label>
<input type="tel" name="fax" class="form-control" id="fax_with_ddd" placeholder="(xx) ____-____" value="{{ old('fax') }}">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label for="city">Cidade</label>
<input type="text" name="city" class="form-control" id="city" placeholder="Cidade em que reside" value="{{ old('city') }}">
</div>
<div class="form-group col-md-4">
<label for="state">Estado</label>
<select id="state" name="state" class="form-control" value="{{ old('state') }}">
@foreach ($states as $state)
<option selected>{{$state}}</option>
@endforeach
</select>
</div>
<div class="form-group col-md-2">
<label for="cep">CEP</label>
<input type="text" name="cep" class="form-control" id="cep" value="{{ old('cep') }}">
</div>
</div>
<div class="form-row col-md-6 col-xs-6">
<div class="form-group">
<label for="file">Enviar Arquivo</label>
<input type="file" name="upload" class="form-control-file" value="{{ old('upload') }}">
</div>
</div>
<div class="form-group">
<label for="manifestation">Escreva Sua Mensagem</label>
<textarea name="manifestation" class="form-control" id="manifestation" rows="12">{{ old('manifestation') }}</textarea>
</div>
<button type="submit" class="btn btn-success">Enviar</button>
<button type="reset" class="btn btn-danger">Limpar</button>
</form>