Loading app/Http/Controllers/gruposController.php +45 −2 Original line number Diff line number Diff line Loading @@ -2,9 +2,52 @@ namespace App\Http\Controllers; use App\Models\Grupos; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Carbon\Carbon; class gruposController extends Controller class GruposController extends Controller { // public function index() { $grupos = Grupos::get(['id', 'nombre']); return view('adminGen.catalagos.grupos', ['grupos' => $grupos]); } public function store(Request $request) { $validated = $request->validate([ 'nombre' => 'required|max:150', ]); $grupo = new Grupos(); $grupo->nombre = $request->nombre; $grupo->save(); return redirect()->route('catalogos.grupos.get')->with('success', 'Grupo creado correctamente.'); } public function update(Request $request, Grupos $grupos) { $validated = $request->validate([ 'id' => 'required|min:1', 'nombre' => 'required|max:150', ]); $grupos = Grupos::find($request->id); $grupos->nombre = $request->nombre; $grupos->save(); return redirect()->route('catalogos.grupos.get')->with('success', 'Grupo actualizado correctamente.'); } public function destroy($id) { $grupos = Grupos::findOrFail($id); $grupos->delete(); return redirect()->route('catalogos.grupos.get')->with('success', 'Grupo eliminado correctamente.'); } } app/Models/grupos.php +14 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,20 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class grupos extends Model class Grupos extends Model { use HasFactory; protected $primaryKey = 'id'; protected $fillable = [ 'nombre', ]; public function users(): HasMany { return $this->hasMany(User::class); } public $timestamps = false; } database/migrations/2024_06_03_183521_create_profesions_table.php +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ public function up(): void $table->id(); $table->string('profesion'); $table->string('abreviatura'); $table->timestamps(); }); } Loading database/migrations/2024_06_03_184436_create_grupos_table.php +1 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ public function up(): void Schema::create('grupos', function (Blueprint $table) { $table->id(); $table->string('nombre'); $table->timestamps(); }); } Loading database/migrations/2024_06_03_194040_create_subgrupos_table.php +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ public function up(): void $table->id(); $table->unsignedBigInteger('grupo_id')->nullable(); $table->unsignedBigInteger('subgrupo_id')->nullable(); $table->timestamps(); $table->foreign('grupo_id')->references('id')->on('grupos')->nullable(); $table->foreign('subgrupo_id')->references('id')->on('subgrupos')->nullable(); Loading Loading
app/Http/Controllers/gruposController.php +45 −2 Original line number Diff line number Diff line Loading @@ -2,9 +2,52 @@ namespace App\Http\Controllers; use App\Models\Grupos; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Carbon\Carbon; class gruposController extends Controller class GruposController extends Controller { // public function index() { $grupos = Grupos::get(['id', 'nombre']); return view('adminGen.catalagos.grupos', ['grupos' => $grupos]); } public function store(Request $request) { $validated = $request->validate([ 'nombre' => 'required|max:150', ]); $grupo = new Grupos(); $grupo->nombre = $request->nombre; $grupo->save(); return redirect()->route('catalogos.grupos.get')->with('success', 'Grupo creado correctamente.'); } public function update(Request $request, Grupos $grupos) { $validated = $request->validate([ 'id' => 'required|min:1', 'nombre' => 'required|max:150', ]); $grupos = Grupos::find($request->id); $grupos->nombre = $request->nombre; $grupos->save(); return redirect()->route('catalogos.grupos.get')->with('success', 'Grupo actualizado correctamente.'); } public function destroy($id) { $grupos = Grupos::findOrFail($id); $grupos->delete(); return redirect()->route('catalogos.grupos.get')->with('success', 'Grupo eliminado correctamente.'); } }
app/Models/grupos.php +14 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,20 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class grupos extends Model class Grupos extends Model { use HasFactory; protected $primaryKey = 'id'; protected $fillable = [ 'nombre', ]; public function users(): HasMany { return $this->hasMany(User::class); } public $timestamps = false; }
database/migrations/2024_06_03_183521_create_profesions_table.php +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ public function up(): void $table->id(); $table->string('profesion'); $table->string('abreviatura'); $table->timestamps(); }); } Loading
database/migrations/2024_06_03_184436_create_grupos_table.php +1 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ public function up(): void Schema::create('grupos', function (Blueprint $table) { $table->id(); $table->string('nombre'); $table->timestamps(); }); } Loading
database/migrations/2024_06_03_194040_create_subgrupos_table.php +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ public function up(): void $table->id(); $table->unsignedBigInteger('grupo_id')->nullable(); $table->unsignedBigInteger('subgrupo_id')->nullable(); $table->timestamps(); $table->foreign('grupo_id')->references('id')->on('grupos')->nullable(); $table->foreign('subgrupo_id')->references('id')->on('subgrupos')->nullable(); Loading