En el ClienteControllers en el show:
$arr = Cliente::simplePaginate(5);
return \View::make('cliente/show',compact('arr'));
En la vista resources/views/cliente/show.blade.php:
@if($arr->previousPageUrl())
<a href="{{ $arr->previousPageUrl() }}" class="btn btn-success pull-right btn-sm">Anterior <i class="fa fa-arrow-circle-right"></i></a>
@endif
@if($arr->nextPageUrl())
<a href="{{ $arr->nextPageUrl() }}" class="btn btn-success pull-right btn-sm">Siguiente <i class="fa fa-arrow-circle-right"></i></a>
@endif
Métodos de paginator:
$results->count()
$results->currentPage()
$results->firstItem()
$results->hasMorePages()
$results->lastItem()
$results->lastPage() (Not available when using simplePaginate)
$results->nextPageUrl()
$results->perPage()
$results->previousPageUrl()
$results->total() (Not available when using simplePaginate)
$results->url($page)
Subir ficheros tipo FILE de los formularios:
Modificamos el create.blade.php:
<form action="{{url('cliente')}}" method="post" enctype="multipart/form-data">
{{ csrf_field() }}
@include("cliente/listErrores")
Nombre: <input type="text" name="nombre" value="{{old('nombre')}}"><br>
Apellidos: <input type="text" name="apellidos" value="{{old('apellidos')}}"><br>
Foto: <input type="file" name="urlFoto">
<br><br>
<input type="submit">
</form>
En ClienteController:
use Illuminate\Support\Facades\Storage;
public function store(Request $request)
{
$this->validate($request, [
'nombre' => ['required', 'max:10'],
'apellidos' => ['required', 'max:20'],
]);
$item = new Cliente;
$img = $request->file('urlFoto');
$ruta_fich = time()."_".$img->getClientOriginalName();
Storage::disk('imgClientes')->put($ruta_fich, file_get_contents($img->getRealPath()));
$arr = $request->all();
$arr["urlFoto"] = $ruta_fich;
$item->create($arr);
return redirect('cliente/show');
}
En config/filesystems.php añadimos:
'disks' => [
'imgClientes' => [
'driver' => 'local',
'root' => public_path('imgClientes'),
],
En el modelo de Cliente modificamos:
class Cliente extends Model
{
protected $fillable = ["nombre", "apellidos", "urlFoto"];
}
También creamos ese nuevo campo de urlFoto en la BD
Para poder ver luego la imagen en la vista:
<img src="{{ asset('imgClientes') }}/{{ $item->urlFoto }}">
No hay comentarios:
Publicar un comentario