Browse Source

cambios importantes!!!!

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
main
sergiomarquez778 2 weeks ago
parent
commit
3c23efcfcd
  1. 24
      app/Http/Controllers/MarcaController.php
  2. 9
      app/Models/Marca.php
  3. 11
      app/Models/marc.php
  4. 5
      database/migrations/2014_10_12_000000_create_users_table.php
  5. 30
      database/migrations/2025_01_18_230913_create_marcs_table.php
  6. 3
      database/migrations/2025_02_28_192615_create_marcas_table.php
  7. 4
      resources/views/marcas.blade.php
  8. 27
      resources/views/marcasCrearEditar.blade.php

24
app/Http/Controllers/MarcaController.php

@ -4,6 +4,10 @@ namespace App\Http\Controllers;
use App\Models\Marca; use App\Models\Marca;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\Marc;
class MarcaController extends Controller class MarcaController extends Controller
{ {
@ -42,8 +46,8 @@ class MarcaController extends Controller
*/ */
public function create() public function create()
{ {
$marcas = Marca::all(); $marcs = Marc::all(); // Asegúrate de que el modelo Marc esté correctamente importado
return view('marcasCrearEditar',['marcas'=>$marcas]); return view('marcasCrearEditar', ['marcs' => $marcs]); // Asegúrate de pasar la variable correctamente
} }
/** /**
@ -69,8 +73,9 @@ class MarcaController extends Controller
*/ */
public function edit($id) public function edit($id)
{ {
$marca = Marca::find($id); $marca = Marca::findOrFail($id); // Busca la marca por ID
return view('marcasCrearEditar',['marca'=>$marca]); $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) public function update(Request $request, $id)
{ {
$marca = Marca::find($id); // Validar los datos del formulario
$marca->fill($request->all()); $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(); $marca->save();
return redirect()->route('marca.index')->with('success', 'Marca actualizada exitosamente.'); return redirect()->route('marca.index')->with('success', 'Marca actualizada exitosamente.');
} }

9
app/Models/Marca.php

@ -4,12 +4,17 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasOne;
class Marca extends Model class Marca extends Model
{ {
use HasFactory; use HasFactory;
protected $table = 'marcas'; protected $table = 'marcas';
protected $fillable = ['nombre']; protected $fillable = ['marcs_id'];
public function Marc():HasOne{
return $this->hasOne(marc::class, 'id','marcs_id');
}
} }

11
app/Models/marc.php

@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class marc extends Model
{
use HasFactory;
}

5
database/migrations/2014_10_12_000000_create_users_table.php

@ -20,6 +20,11 @@ return new class extends Migration
$table->rememberToken(); $table->rememberToken();
$table->timestamps(); $table->timestamps();
}); });
DB::table('users')->insert([
'name'=> 'Administrador',
'email'=> 'admin@admin.com',
'password'=> bcrypt('12345678')
]);
} }
/** /**

30
database/migrations/2025_01_18_230913_create_marcs_table.php

@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('marcs', function (Blueprint $table) {
$table->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');
}
};

3
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) { Schema::create('marcas', function (Blueprint $table) {
$table->id(); $table->id();
$table->string('nombre'); $table->unsignedBigInteger('marcs_id');
$table->timestamps(); $table->timestamps();
$table->foreign('marcs_id')->references('id')->on('marcs');
}); });
} }

4
resources/views/marcas.blade.php

@ -50,7 +50,6 @@
</div> </div>
<div class="overflow-x-auto"> <div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-200"> <table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50"> <thead class="bg-gray-50">
<tr> <tr>
@ -65,7 +64,7 @@
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">{{ $marca->id }}</td> <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">{{ $marca->id }}</td>
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900"> <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
<i class="fas fa-car text-blue-500 mr-2"></i> <i class="fas fa-car text-blue-500 mr-2"></i>
{{ $marca->nombre }} {{ $marca->Marc->name }}
</td> </td>
<td class="px-6 py-4 whitespace-nowrap text-sm"> <td class="px-6 py-4 whitespace-nowrap text-sm">
<div class="flex gap-2"> <div class="flex gap-2">
@ -113,6 +112,7 @@ function confirmarEdicion(url) {
} }
}); });
} }
function confirmarEliminacion(button) { function confirmarEliminacion(button) {
Swal.fire({ Swal.fire({
title: '¿Estás seguro?', title: '¿Estás seguro?',

27
resources/views/marcasCrearEditar.blade.php

@ -42,25 +42,14 @@
<div class="space-y-6"> <div class="space-y-6">
<!-- Campo Nombre --> <!-- Campo Nombre -->
<div> <div class="mb-3">
<label for="nombre" class="block text-sm font-medium text-gray-700 mb-2"> <label for="marcs_id" class="form-label">Marca 🏷️</label>
Nombre de la Marca <select name="marcs_id" id="marcs_id" class="form-control" required>
</label> <option value="" disabled selected>Seleccione una marca</option>
<div class="relative rounded-md shadow-sm"> @foreach($marcs as $marc) <!-- Asegúrate de que la variable sea $marcs -->
<div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none"> <option value="{{ $marc->id }}">{{ $marc->name }}</option>
<i class="fas fa-tag text-gray-400"></i> @endforeach
</div> </select>
<input type="text"
name="nombre"
id="nombre"
class="block w-full pl-10 pr-3 py-2 border border-gray-300 rounded-md focus:ring-2 focus:ring-blue-500 focus:border-blue-500"
value="{{ isset($marca) ? $marca->nombre : old('nombre') }}"
placeholder="Ingrese el nombre de la marca"
required>
</div>
@error('nombre')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</div> </div>
<!-- Botones de acción --> <!-- Botones de acción -->

Loading…
Cancel
Save