Estructura de base de datos, migraciones, factories y seeders

This commit is contained in:
Lucho
2026-06-24 16:28:01 -03:00
parent 317d85b5c3
commit c81120f2e3
42 changed files with 1033 additions and 298 deletions
+48 -14
View File
@@ -2,8 +2,8 @@
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class ServicioSeeder extends Seeder
{
@@ -12,21 +12,55 @@ class ServicioSeeder extends Seeder
*/
public function run(): void
{
$contenidoWebId = (int) DB::table('contenidoswebs')->value('id');
DB::table('fotos')->updateOrInsert(
['ruta' => 'images/Servicio.jpg'],
[
'extension' => 'jpg',
'tamanio_bytes' => 0,
'nombre' => 'Servicio',
'mime_type' => 'image/jpeg',
'created_at' => now(),
'updated_at' => now(),
]
);
$fotoId = (int) DB::table('fotos')->where('ruta', 'images/Servicio.jpg')->value('id');
$profesionAbogaciaId = (int) DB::table('profesiones')->where('titulo', 'Abogacía')->value('id');
if ($contenidoWebId <= 0 || $fotoId <= 0 || $profesionAbogaciaId <= 0) {
return;
}
$servicios = [
['titulo' => 'Consulta Jurídica', 'estado' => 'Activo', 'descripcion' => 'Consiste en una reunión con el profesional en la cual se podrá hacer una consulta sobre un tema particular'],
['titulo' => 'Sucesión', 'estado' => 'Activo', 'descripcion' => 'El profesional asesorará al cliente en cuanto a sucesiones de bienes inmuebles de personas fallecidas'],
['titulo' => 'Penal', 'estado' => 'Baja', 'descripcion' => 'El profesional asesorará al cliente acusado de cometer un delito de caracter penal. O en caso de que el cliente quiera acusar a otra persona por cometer un delito de caracter penal'],
['titulo' => 'Servicio técnico/Informático', 'estado' => 'Alta', 'descripcion' => 'Servicio ofrecido por el personal de informática'],
[
'titulo' => 'Consulta jurídica',
'estado' => 'activo',
'descripcion' => 'Entrevista para evaluar el caso, orientar al cliente y definir los próximos pasos.',
'visibleenweb' => 'si',
'contenidoweb_id' => $contenidoWebId,
'profesion_id' => $profesionAbogaciaId,
'foto_id' => $fotoId,
],
];
foreach($servicios as $servicio)
{
DB::table('servicios')->insert([
'titulo'=>$profesion['titulo'],
'estado'=>$profesion['estado'],
'descripcion'=>$profesion['descripcion'],
]);
};
foreach ($servicios as $servicio) {
DB::table('servicios')->updateOrInsert(
[
'titulo' => $servicio['titulo'],
'profesion_id' => $servicio['profesion_id'],
],
[
'estado' => $servicio['estado'],
'descripcion' => $servicio['descripcion'],
'visibleenweb' => $servicio['visibleenweb'],
'contenidoweb_id' => $servicio['contenidoweb_id'],
'foto_id' => $servicio['foto_id'],
'created_at' => now(),
'updated_at' => now(),
]
);
}
}
}