Proyecto/app/Http/Controllers/PersonaController.php

72 lines
1.9 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\RedirectResponse;
use App\Models\Persona;
use App\Http\Requests\UpdatePersonaRequest;
use App\Http\Requests\StorePersonaRequest;
class PersonaController extends Controller
{
public function index(Request $request){
$persona = Persona::withTrashed()->get();
return view('persona.index', ["persona"=>$persona]);
}
public function show($id){
$persona = persona::findOrfail($id);
return view('persona.show', ["persona"=>$persona]);
}
public function destroy(Request $request, $id){
$persona = persona::findOrfail($id);
$persona->delete();
return redirect('/persona');
}
public function create(Request $request){
return view('persona.new');
}
public function store(StorePersonaRequest $request): RedirectResponse
{
$persona = new persona();
$persona -> fill([
'nombre' => $request->input('nombre'),
'apellido' => $request->input('apellido'),
'dni' => $request->input('dni'),
]);
$persona->save();
return redirect('/persona');
}
public function edit($id){
$persona = persona::findOrfail($id);
return view('persona.edit', ["persona"=>$persona]);
$persona->save();
return redirect('/persona');
}
public function update(UpdatePersonaRequest $request, $id){
$persona = persona::findOrfail($id);
$persona -> fill([
'nombre' => $request->input('nombre'),
'apellido' => $request->input('apellido'),
'dni' => $request->input('dni'),
]);
$persona->save();
return redirect('/persona');
}
public function restore($id){
$persona = persona::withTrashed()->findOrfail($id);
$persona->restore();
return redirect('/persona');
}
}