From 3c23efcfcda2deb516d361424bee88c2d935a5c1 Mon Sep 17 00:00:00 2001 From: sergiomarquez778 Date: Tue, 18 Mar 2025 19:13:23 -0600 Subject: [PATCH] cambios importantes!!!! MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit en el de marcas ya esta lo de asignar una marca por id de my sql por defecto tambien ya agregue un usuario administrativo tambien cada vez que importen o refresquen la base de datos por defecto las marcas ya estan por defecto a esto me refiero a que no se borraran y lo mismo con el usuario administrativo el usuario es igual que el utilizamos en la cafeteria y la contraseña es 12345678 creo que es todo marcas es su base para empezar con el de ustedes espero y les sirva tambien les deje comentarios de que rive cada cosa y como es que funciona --- app/Http/Controllers/MarcaController.php | 24 +++++++++++---- app/Models/Marca.php | 9 ++++-- app/Models/marc.php | 11 +++++++ .../2014_10_12_000000_create_users_table.php | 5 ++++ .../2025_01_18_230913_create_marcs_table.php | 30 +++++++++++++++++++ .../2025_02_28_192615_create_marcas_table.php | 3 +- resources/views/marcas.blade.php | 4 +-- resources/views/marcasCrearEditar.blade.php | 27 +++++------------ 8 files changed, 83 insertions(+), 30 deletions(-) create mode 100644 app/Models/marc.php create mode 100644 database/migrations/2025_01_18_230913_create_marcs_table.php diff --git a/app/Http/Controllers/MarcaController.php b/app/Http/Controllers/MarcaController.php index c93a0da..1c45e8d 100644 --- a/app/Http/Controllers/MarcaController.php +++ b/app/Http/Controllers/MarcaController.php @@ -4,6 +4,10 @@ namespace App\Http\Controllers; use App\Models\Marca; use Illuminate\Http\Request; +use App\Models\Marc; + + + class MarcaController extends Controller { @@ -42,8 +46,8 @@ class MarcaController extends Controller */ public function create() { - $marcas = Marca::all(); - return view('marcasCrearEditar',['marcas'=>$marcas]); + $marcs = Marc::all(); // Asegúrate de que el modelo Marc esté correctamente importado + return view('marcasCrearEditar', ['marcs' => $marcs]); // Asegúrate de pasar la variable correctamente } /** @@ -69,8 +73,9 @@ class MarcaController extends Controller */ public function edit($id) { - $marca = Marca::find($id); - return view('marcasCrearEditar',['marca'=>$marca]); + $marca = Marca::findOrFail($id); // Busca la marca por ID + $marcs = Marc::all(); // Recupera todas las marcas para el select + return view('marcasCrearEditar', ['marca' => $marca, 'marcs' => $marcs]); // Pasa la marca y las marcas a la vista } /** @@ -78,9 +83,16 @@ class MarcaController extends Controller */ public function update(Request $request, $id) { - $marca = Marca::find($id); - $marca->fill($request->all()); + // Validar los datos del formulario + $request->validate([ + 'marcs_id' => 'required|exists:marcs,id', // Asegúrate de que la marca seleccionada exista + ]); + + // Buscar la marca y actualizarla + $marca = Marca::findOrFail($id); + $marca->marcs_id = $request->marcs_id; // Asigna el nuevo ID de la marca seleccionada $marca->save(); + return redirect()->route('marca.index')->with('success', 'Marca actualizada exitosamente.'); } diff --git a/app/Models/Marca.php b/app/Models/Marca.php index 91be636..66ee531 100644 --- a/app/Models/Marca.php +++ b/app/Models/Marca.php @@ -4,12 +4,17 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\HasOne; class Marca extends Model { use HasFactory; protected $table = 'marcas'; - - protected $fillable = ['nombre']; + + protected $fillable = ['marcs_id']; + public function Marc():HasOne{ + return $this->hasOne(marc::class, 'id','marcs_id'); + + } } diff --git a/app/Models/marc.php b/app/Models/marc.php new file mode 100644 index 0000000..d19eace --- /dev/null +++ b/app/Models/marc.php @@ -0,0 +1,11 @@ +rememberToken(); $table->timestamps(); }); + DB::table('users')->insert([ + 'name'=> 'Administrador', + 'email'=> 'admin@admin.com', + 'password'=> bcrypt('12345678') + ]); } /** diff --git a/database/migrations/2025_01_18_230913_create_marcs_table.php b/database/migrations/2025_01_18_230913_create_marcs_table.php new file mode 100644 index 0000000..1209d69 --- /dev/null +++ b/database/migrations/2025_01_18_230913_create_marcs_table.php @@ -0,0 +1,30 @@ +id(); + $table->string('name'); + $table->timestamps(); + }); + DB::table('marcs')->insert(['name'=> 'chevorel']); + DB::table('marcs')->insert(['name'=> 'nissan']); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('marcs'); + } +}; diff --git a/database/migrations/2025_02_28_192615_create_marcas_table.php b/database/migrations/2025_02_28_192615_create_marcas_table.php index cb30b5f..98f6b19 100644 --- a/database/migrations/2025_02_28_192615_create_marcas_table.php +++ b/database/migrations/2025_02_28_192615_create_marcas_table.php @@ -13,8 +13,9 @@ return new class extends Migration { Schema::create('marcas', function (Blueprint $table) { $table->id(); - $table->string('nombre'); + $table->unsignedBigInteger('marcs_id'); $table->timestamps(); + $table->foreign('marcs_id')->references('id')->on('marcs'); }); } diff --git a/resources/views/marcas.blade.php b/resources/views/marcas.blade.php index 999332e..b454484 100644 --- a/resources/views/marcas.blade.php +++ b/resources/views/marcas.blade.php @@ -50,7 +50,6 @@
- @@ -65,7 +64,7 @@
{{ $marca->id }} - {{ $marca->nombre }} + {{ $marca->Marc->name }}
@@ -113,6 +112,7 @@ function confirmarEdicion(url) { } }); } + function confirmarEliminacion(button) { Swal.fire({ title: '¿Estás seguro?', diff --git a/resources/views/marcasCrearEditar.blade.php b/resources/views/marcasCrearEditar.blade.php index f48795c..cb10a58 100644 --- a/resources/views/marcasCrearEditar.blade.php +++ b/resources/views/marcasCrearEditar.blade.php @@ -42,25 +42,14 @@
-
- -
-
- -
- -
- @error('nombre') -

{{ $message }}

- @enderror +
+ +