feat: meal post ingredients

This commit is contained in:
2026-05-18 14:39:57 +02:00
parent 7916e7f718
commit 7a907f2b17
12 changed files with 404 additions and 10 deletions
+29
View File
@@ -0,0 +1,29 @@
<?php
namespace App\Models;
use App\Enums\IngredientUnit;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class MealPostIngredients extends Model
{
protected $fillable = [
'meal_posts_id',
'position',
'ingredient',
'unit',
];
public function mealPosts(): BelongsTo
{
return $this->belongsTo(MealPosts::class);
}
protected function casts(): array
{
return [
'unit' => IngredientUnit::class,
];
}
}
+7 -1
View File
@@ -8,6 +8,7 @@ use Illuminate\Database\Eloquent\Concerns\HasUlids;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
class MealPosts extends Model
@@ -37,12 +38,17 @@ class MealPosts extends Model
return $this->belongsTo(User::class);
}
public function ingredients(): HasMany
{
return $this->hasMany(MealPostIngredients::class)->orderBy('position');
}
protected function casts(): array
{
return [
'eaten_at' => 'datetime',
'visibility' => MealPostVisibility::class,
'type' => MealPostType::class
'type' => MealPostType::class,
];
}
}