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 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.');
}

9
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');
}
}

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->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) {
$table->id();
$table->string('nombre');
$table->unsignedBigInteger('marcs_id');
$table->timestamps();
$table->foreign('marcs_id')->references('id')->on('marcs');
});
}

4
resources/views/marcas.blade.php

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

27
resources/views/marcasCrearEditar.blade.php

@ -42,25 +42,14 @@
<div class="space-y-6">
<!-- Campo Nombre -->
<div>
<label for="nombre" class="block text-sm font-medium text-gray-700 mb-2">
Nombre de la Marca
</label>
<div class="relative rounded-md shadow-sm">
<div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
<i class="fas fa-tag text-gray-400"></i>
</div>
<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 class="mb-3">
<label for="marcs_id" class="form-label">Marca 🏷️</label>
<select name="marcs_id" id="marcs_id" class="form-control" required>
<option value="" disabled selected>Seleccione una marca</option>
@foreach($marcs as $marc) <!-- Asegúrate de que la variable sea $marcs -->
<option value="{{ $marc->id }}">{{ $marc->name }}</option>
@endforeach
</select>
</div>
<!-- Botones de acción -->

Loading…
Cancel
Save