proyectos:registro_comidas
¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Registro de comidas
Registro diario de las comidas.
Funcionalidades
- Registro de comidas
- Día
- Tipo (desayuno, comida, cena, picoteo)
- Asociación de comidas a categorías (Postres, Carnes, Pescados, Frutas…)
- Asociación de comidas a etiquetas
- Detalle de comida por ingredientes
Estructura de base de datos
Comidas
- id
- usuario_id (opcional)
- nombre
- descripcion (opcional)
- fecha
- calorias
- tipo (desayuno, comida, cena, tentempié)
- id_categoria (opcional)
- lugar (casa, fuera)
Ingredientes
- id
- nombre
- id_categoria
- calorias_por_100g
Comida_Ingrediente
Tabla que relaciona comidas e ingredientes.
- id_comida
- id_ingrediente
- cantidad (gramos)
Categorías
- id
- nombre
- color?
Etiquetas
- id
- nombre
- slug
Comida_Etiqueta
Tabla que relaciona comidas y etiquetas
- id_comida
- id_tag
Herramientas empleadas
- Framework Laravel (PHP)
Base de datos
Categorías
Migración para la tabla de las categorías:
php atisan make:migration create_categories_table
Fichero con la migración (database/migrations/2025_03_28_200000_create_categories_table.php):
<?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('categories', function (Blueprint $table) { $table->id(); $table->string('name')->unique(); $table->string('color')->nullable(); $table->timestamps(); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('categories'); } }
Modelo para las categorías (app/Models/Category.php):
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Category extends Model { use HasFactory; protected $fillable = ['name', 'color']; public function meals() { return $this->hasMany(Meal::class); } public function ingredients() { return $this->hasMany(Ingredient::class); } }
Controlador
php artisan make:controller CategoryController -m Category
proyectos/registro_comidas.1743341816.txt.gz · Última modificación: por tempwin
