api/app/Models/MealPosts.php

46 lines
983 B
PHP

<?php
namespace App\Models;
use App\Enums\MealPostVisibility;
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\SoftDeletes;
class MealPosts extends Model
{
use HasFactory, HasUlids, SoftDeletes;
protected $fillable = [
'user_id',
'image_url',
'caption',
'calories',
'proteins',
'carbs',
'fats',
'title',
'eaten_at',
'visibility',
];
protected $attributes = [
'visibility' => MealPostVisibility::Private->value,
];
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
protected function casts(): array
{
return [
'eaten_at' => 'datetime',
'visibility' => MealPostVisibility::class,
];
}
}