diff --git a/app/Http/Controllers/personacontroller.php b/app/Http/Controllers/personacontroller.php index a8435d2..9f55df8 100644 --- a/app/Http/Controllers/personacontroller.php +++ b/app/Http/Controllers/personacontroller.php @@ -3,14 +3,107 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; -use App\Models\persona; +use Illuminate\Http\RedirectResponse; +use App\Models\Persona; -class personacontroller extends Controller +class PersonaController extends Controller { public function index(Request $request) { - $personas= Persona::all(); + $persona = Persona::withTrashed()-> get(); - return view('personas.index',['personas'=>$personas]); + return view('personas.index',["personas"=>$persona]); + + // $categorias = Categorias::findOrFail(13); + //$cat = Categorias::where('id_categoria', 1)->first(); + //$categorias = Categorias::where('descripcion', 'Cursos, capacitaciones y formación')->get(); + //$categorias = Categorias::where('descripcion', 'like', '%Prod%')->get(); + + //$categorias = Categorias::orderBy('nombre', 'desc')->get(); + + //$categorias = Categorias::first(); + //$categorias = Categorias::last(); + /*Categorias::count();*/ } + public function show($id){ + $persona = Persona::findOrfail($id); + return view('personas.show', ["per"=>$persona]); + } + + public function destroy(Request $request, $id){ + $persona = Persona::findOrfail($id); + $persona->delete(); + return redirect('/personas'); + } + + + public function create(){ + return view('personas.new'); + } + + public function store(Request $request){ + + $persona = new Persona(); + $persona->fill([ + 'apellido' => $request->input('apellido'), + 'nombre' => $request->input('nombre'), + 'dni' => $request->input('dni'), + ]); + $persona->save(); + return redirect('/personas'); + } + + public function edit($id){ + $persona = Persona::findOrfail($id); + //$categoria = Categorias::where('id_categoria',$id)->first(); + return view('personas.edit', ["per"=>$persona]); + } + + public function update(Request $request, $id){ + $persona = Persona::findOrfail($id); + $persona->fill([ + 'apellido' => $request->input('apellido'), + 'nombre' => $request->input('nombre'), + 'dni' => $request->input('dni'), + ]); + $persona->update(); + return redirect('/personas'); + } + + public function restaurar(Request $request, $id){ + $persona = Persona::withTrashed()->findOrfail($id); + $persona->restore(); + return redirect('/personas'); + } +/* + + + + public function show($id){ + $categorias = Categorias::findOrfail($id); + + return view('categorias.show', ["cat"=>$categorias]); + } + + + public function edit($id){ + $categorias = Categorias::findOrfail($id); + return view('categorias.edit', ["cat"=>$categorias]); + } + + + public function update(Request $request, $id){ + $categorias = Categorias::findOrfail($id); + $categorias->fill([ + 'nombre' => $request->input('nombre'), + 'descripcion' => $request->input('descripcion'), + ]); + $categorias->update(); + return redirect('/categorias'); + } + + + */ + + } diff --git a/app/Models/persona.php b/app/Models/persona.php index e1c2512..a5f2520 100644 --- a/app/Models/persona.php +++ b/app/Models/persona.php @@ -4,16 +4,18 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\SoftDeletes; -class persona extends Model +class Persona extends Model { use HasFactory; + use SoftDeletes; protected $table = 'persona'; public $primaryKey = 'id_persona'; - public $timestamps = false; + public $timestamps = true; protected $fillable = [ 'apellido', 'nombre', diff --git a/resources/views/personas/edit.blade.php b/resources/views/personas/edit.blade.php new file mode 100644 index 0000000..c7cfe49 --- /dev/null +++ b/resources/views/personas/edit.blade.php @@ -0,0 +1,42 @@ + + + + + + Editar persona + + + +

Editar persona

+ +
+ @csrf + @method('PUT') + +
+
+ +
+ + +
+
+ +
+ +
+
+ +
+ +
+ + Volver al listado +
+
+ + + \ No newline at end of file diff --git a/resources/views/personas/index.blade.php b/resources/views/personas/index.blade.php index e3573d2..c105d81 100644 --- a/resources/views/personas/index.blade.php +++ b/resources/views/personas/index.blade.php @@ -4,17 +4,48 @@ Personas - +

+ Nueva persona +

- \ No newline at end of file + diff --git a/resources/views/personas/new.blade.php b/resources/views/personas/new.blade.php new file mode 100644 index 0000000..0523b99 --- /dev/null +++ b/resources/views/personas/new.blade.php @@ -0,0 +1,37 @@ + + + + + + Nueva persona + + + +

Nueva persona

+ +
+ @csrf + +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+ + Volver al listado +
+
+ + + \ No newline at end of file diff --git a/resources/views/personas/show.blade.php b/resources/views/personas/show.blade.php new file mode 100644 index 0000000..9f73454 --- /dev/null +++ b/resources/views/personas/show.blade.php @@ -0,0 +1,37 @@ + + + + + + Ver persona + + + +

Ver persona

+ + + +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+ Volver al listado +
+ + + diff --git a/routes/web.php b/routes/web.php index 8b8f12c..1f45ddd 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,19 +1,20 @@ name('personas.index'); \ No newline at end of file + +/*Route::get('personas', [PersonaController::class, 'index'])->name('personas.index'); +Route::post('personas', [PersonaController::class, 'store'])->name('personas.store'); +Route::get('personas/create', [PersonaController::class, 'create'])->name('personas.create'); +Route::get('personas/{persona}', [PersonaController::class, 'show'])->name('personas.show'); +Route::delete('personas/{persona}', [PersonaController::class, 'destroy'])->name('personas.destroy'); +Route::get('personas/{persona}/edit', [PersonaController::class, 'edit'])->name('personas.edit'); +Route::put('personas/{persona}', [PersonaController::class, 'update'])->name('personas.update');*/ + +Route::resource('personas', PersonaController::class); +Route::put('personas/restaurar/{persona}', [PersonaController::class, 'restaurar'])->name('personas.restaurar'); \ No newline at end of file