From cfca95dffb7a0eefdd32dc397d37870bf6941c92 Mon Sep 17 00:00:00 2001 From: sergiomarquez778 Date: Wed, 19 Mar 2025 21:27:19 -0600 Subject: [PATCH] cambios quite el estatus de momento de lo comente por si lo necesitamos en el futuro y tambien ya quedo bien todolo demas --- -i | 0 app/Http/Controllers/MarcaController.php | 68 ++++------ app/Models/Marca.php | 6 +- .../2025_01_18_230913_create_marcs_table.php | 36 ++++- .../2025_02_28_192615_create_marcas_table.php | 4 +- resources/views/marcas.blade.php | 128 ++++++++---------- resources/views/marcasCrearEditar.blade.php | 32 +++-- 7 files changed, 145 insertions(+), 129 deletions(-) create mode 100644 -i diff --git a/ -i b/ -i new file mode 100644 index 0000000..e69de29 diff --git a/app/Http/Controllers/MarcaController.php b/app/Http/Controllers/MarcaController.php index 1fb0157..9bafa5b 100644 --- a/app/Http/Controllers/MarcaController.php +++ b/app/Http/Controllers/MarcaController.php @@ -4,42 +4,38 @@ namespace App\Http\Controllers; use App\Models\Marca; use Illuminate\Http\Request; -use App\Models\Marc; class MarcaController extends Controller { /** * Display a listing of the resource. */ - public function index(Request $request) - { - $busqueda = $request->busqueda; + public function index(Request $request) + { + $busqueda = $request->busqueda; - if ($busqueda) { - // Busca en la tabla 'marcs' usando la relación - $marcas = Marca::whereHas('Marc', function($query) use ($busqueda) { - $query->where('name', 'LIKE', "%{$busqueda}%"); - })->get(); + if ($busqueda) { + // Busca en la columna 'marca' de la tabla 'marcas' + $marcas = Marca::where('marca', 'LIKE', "%{$busqueda}%")->get(); - if ($marcas->isEmpty()) { - return redirect()->route('marca.index') - ->with('error', 'No existe ninguna marca con el nombre "' . $busqueda . '". Por favor, inténtalo de nuevo.'); - } - } else { - // Si no hay búsqueda, mostrar todas las marcas - $marcas = Marca::all(); + if ($marcas->isEmpty()) { + return redirect()->route('marca.index') + ->with('error', 'No existe ninguna marca con el nombre "' . $busqueda . '". Por favor, inténtalo de nuevo.'); } - - return view('marcas', ['marcas' => $marcas]); + } else { + // Si no hay búsqueda, mostrar todas las marcas + $marcas = Marca::where('eliminado', 0)->get(); } + return view('marcas', ['marcas' => $marcas]); + } + /** * Show the form for creating a new resource. */ public function create() { - $marcs = Marc::all(); // Asegúrate de que el modelo Marc esté correctamente importado - return view('marcasCrearEditar', ['marcs' => $marcs]); // Pasa la variable correctamente + return view('marcasCrearEditar', ['marca' => null]); // No se necesita pasar marcas } /** @@ -47,9 +43,12 @@ class MarcaController extends Controller */ public function store(Request $request) { - - $marca = new Marca($request->all()); + // Crea una nueva marca + $marca = new Marca(); + $marca->marca = $request->marca; // Asigna el nombre ingresado por el usuario + $marca->eliminado = 0; // Marca como activa por defecto $marca->save(); + return redirect()->route('marca.index')->with('success', 'Marca creada exitosamente.'); } @@ -59,8 +58,7 @@ class MarcaController extends Controller public function edit($id) { $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 + return view('marcasCrearEditar', ['marca' => $marca]); // Pasa la marca a la vista } /** @@ -69,15 +67,8 @@ class MarcaController extends Controller public function update(Request $request, $id) { $marca = Marca::findOrFail($id); // Encuentra la marca por ID - - // Si el campo 'recuperar' está presente, cambia el estado a activo - if ($request->has('recuperar')) { - $marca->eliminado = 0; // Marca como activa - } else { - // Actualiza los datos de la marca directamente - $marca->fill($request->all()); // Rellena los datos sin validación - } - + $marca->marca = $request->marca; // Actualiza el nombre de la marca + $marca->eliminado = 0; // Cambia el estado a activo si se está editando $marca->save(); // Guarda los cambios return redirect()->route('marca.index')->with('success', 'Marca actualizada correctamente.'); @@ -88,17 +79,10 @@ class MarcaController extends Controller */ public function destroy($id) { - // Encuentra la marca por ID - $marca = Marca::findOrFail($id); - - // Cambia el campo 'eliminado' a 1 (inactivo) - $marca->eliminado = 1; // Marca como inactiva + $marca = Marca::findOrFail($id); // Encuentra la marca por ID + $marca->eliminado = 1; // Cambia el estado a inactivo $marca->save(); // Guarda los cambios - // Redirige con un mensaje de éxito return redirect()->route('marca.index')->with('success', 'Marca inactivada correctamente.'); } - /** - * Recover the specified resource. - */ } diff --git a/app/Models/Marca.php b/app/Models/Marca.php index 66ee531..a65769b 100644 --- a/app/Models/Marca.php +++ b/app/Models/Marca.php @@ -12,9 +12,9 @@ class Marca extends Model protected $table = 'marcas'; - protected $fillable = ['marcs_id']; - public function Marc():HasOne{ + protected $fillable = ['marca']; + /*public function Marc():HasOne{ return $this->hasOne(marc::class, 'id','marcs_id'); - } + }*/ } diff --git a/database/migrations/2025_01_18_230913_create_marcs_table.php b/database/migrations/2025_01_18_230913_create_marcs_table.php index 1209d69..55461fe 100644 --- a/database/migrations/2025_01_18_230913_create_marcs_table.php +++ b/database/migrations/2025_01_18_230913_create_marcs_table.php @@ -16,8 +16,40 @@ return new class extends Migration $table->string('name'); $table->timestamps(); }); - DB::table('marcs')->insert(['name'=> 'chevorel']); - DB::table('marcs')->insert(['name'=> 'nissan']); + DB::table('marcs')->insert([ + ['name' => 'chevrolet'], + ['name' => 'nissan'], + ['name' => 'ford'], + ['name' => 'toyota'], + ['name' => 'honda'], + ['name' => 'bmw'], + ['name' => 'audi'], + ['name' => 'mercedes-benz'], + ['name' => 'volkswagen'], + ['name' => 'hyundai'], + ['name' => 'kia'], + ['name' => 'subaru'], + ['name' => 'mazda'], + ['name' => 'peugeot'], + ['name' => 'renault'], + ['name' => 'fiat'], + ['name' => 'land rover'], + ['name' => 'jaguar'], + ['name' => 'tesla'], + ['name' => 'porsche'], + ['name' => 'volvo'], + ['name' => 'mitsubishi'], + ['name' => 'chrysler'], + ['name' => 'dodge'], + ['name' => 'jeep'], + ['name' => 'buick'], + ['name' => 'gmc'], + ['name' => 'infiniti'], + ['name' => 'lexus'], + ['name' => 'acura'], + ['name' => 'alfa romeo'], + // Agrega más marcas según sea necesario + ]); } /** 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 98f6b19..d1fc322 100644 --- a/database/migrations/2025_02_28_192615_create_marcas_table.php +++ b/database/migrations/2025_02_28_192615_create_marcas_table.php @@ -13,9 +13,9 @@ return new class extends Migration { Schema::create('marcas', function (Blueprint $table) { $table->id(); - $table->unsignedBigInteger('marcs_id'); + $table->string('marca'); $table->timestamps(); - $table->foreign('marcs_id')->references('id')->on('marcs'); + // funciona como enlace de una tabla a otra par agregar valores ya definidos $table->foreign('marcs_id')->references('id')->on('marcs'); }); } diff --git a/resources/views/marcas.blade.php b/resources/views/marcas.blade.php index b454484..3564c4a 100644 --- a/resources/views/marcas.blade.php +++ b/resources/views/marcas.blade.php @@ -2,7 +2,9 @@ @section('content')
- + + + @if(session('success'))