102 lines
3.3 KiB
PHP
102 lines
3.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\RedirectResponse;
|
|
use App\Models\Persona;
|
|
use App\Http\Requests\UpdatedPersonaRequest;
|
|
|
|
class PersonaController extends Controller
|
|
{
|
|
public function index(Request $request){
|
|
|
|
$personas = Persona::withTrashed()->get();
|
|
|
|
// $personas = Persona::findOrFail(13);
|
|
//$per = Persona::where('id', 1)->first();
|
|
//$personas = Persona::where('apellido', 'Cursos, capacitaciones y formación')->get();
|
|
//$personas = Persona::where('apellido', 'like', '%Prod%')->get();
|
|
|
|
//$personas = Persona::orderBy('nombre', 'desc')->get();
|
|
|
|
//$personas = Persona::first();
|
|
//$personas = Persona::last();
|
|
/*Persona::count();*/
|
|
|
|
|
|
return view('personas.index', ["personas"=>$personas]);
|
|
}
|
|
|
|
public function show($id){
|
|
$persona = Persona::findOrfail($id);
|
|
return view('personas.show', ["per"=>$persona]);
|
|
}
|
|
|
|
public function destroy(Request $request, $id){
|
|
$personas = Persona::findOrfail($id);
|
|
$personas->delete();
|
|
$request->session()->flash('mensaje-success', 'La persona fue eliminada.');
|
|
return redirect('/personas');
|
|
}
|
|
|
|
|
|
public function create(){
|
|
return view('personas.new');
|
|
}
|
|
|
|
public function store(Request $request){
|
|
|
|
$request->validate([
|
|
'apellido' => 'required|max:100',
|
|
'nombre' => 'required|unique:personas,nombre|regex:/^[a-zA-ZáéíóúñÁÉÍÓÚ]+( [a-zA-ZáéíóúñÁÉÍÓÚ]+)*$/|max:100',
|
|
//'dni' => 'required|numeric|digits_between:7,8',
|
|
],
|
|
[
|
|
'apellido.required' => 'el campo apellido debe ser requerido',
|
|
'apellido.max' => 'el campo apellido debe contener maximo 100 caracteres',
|
|
'nombre.required' => 'el campo nombre es requerido',
|
|
'nombre.unique' => 'el campo nombre no se puede repetir',
|
|
'nombre.regex' => 'el campo nombre solo debe contener letras',
|
|
'nombre.max' => 'el campo nombre debe contener un maximo de 100 caracteres',
|
|
|
|
]
|
|
);
|
|
|
|
$personas = new Persona();
|
|
$personas->fill([
|
|
'nombre' => $request->input('nombre'),
|
|
'apellido' => $request->input('apellido'),
|
|
]);
|
|
$personas->save();
|
|
$request->session()->flash('mensaje-success', 'La persona fue agregada.');
|
|
return redirect('/personas');
|
|
}
|
|
|
|
public function edit($id){
|
|
$persona = Persona::findOrfail($id);
|
|
//$persona = Persona::where('id',$id)->first();
|
|
return view('personas.edit', ["per"=>$persona]);
|
|
}
|
|
|
|
public function update(UpdatedPersonaRequest $request, $id){
|
|
$personas = Persona::findOrfail($id);
|
|
$personas->fill([
|
|
'nombre' => $request->input('nombre'),
|
|
'apellido' => $request->input('apellido'),
|
|
]);
|
|
$personas->update();
|
|
$request->session()->flash('mensaje-success', 'La persona fue modificada.');
|
|
return redirect('/personas');
|
|
}
|
|
|
|
public function restaurar(Request $request, $id){
|
|
$personas = Persona::withTrashed()->findOrfail($id);
|
|
$personas->restore();
|
|
$request->session()->flash('mensaje-success', 'La persona fue restaurada.');
|
|
return redirect('/personas');
|
|
}
|
|
|
|
|
|
}
|