$consultant_comments * @property-read int|null $consultant_comments_count * @property-read \Illuminate\Database\Eloquent\Collection $meals * @property-read int|null $meals_count * @property-read \App\Models\User|null $user * * @method static \Database\Factories\DiaryFactory factory($count = null, $state = []) * @method static \Illuminate\Database\Eloquent\Builder|Diary newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|Diary newQuery() * @method static \Illuminate\Database\Eloquent\Builder|Diary query() * @method static \Illuminate\Database\Eloquent\Builder|Diary userToDayItem($userId) * @method static \Illuminate\Database\Eloquent\Builder|Diary whereClosed($value) * @method static \Illuminate\Database\Eloquent\Builder|Diary whereComment($value) * @method static \Illuminate\Database\Eloquent\Builder|Diary whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Diary whereDate($value) * @method static \Illuminate\Database\Eloquent\Builder|Diary whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|Diary whereRetire($value) * @method static \Illuminate\Database\Eloquent\Builder|Diary whereUpdatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|Diary whereUserId($value) * @method static \Illuminate\Database\Eloquent\Builder|Diary whereWakeup($value) * * @mixin \Eloquent */ class Diary extends Model { use HasFactory; // protected $casts = ['date' => 'datetime:d-m-Y']; // protected $dateFormat = 'd-m-Y'; public function user(): BelongsTo { return $this->belongsTo(User::class)->withDefault([ 'name' => 'Guest Author', ]); } public function meals():HasMany { return $this->hasMany(Meal::class); } public function scopeUserToDayItem(Builder $query, int $userId): Builder { return $query ->where('user_id', $userId) ->where('date', now()->format('Y-m-d')); } public function consultant_comments(): HasMany { return $this->hasMany(ConsultantDiaryComment::class); } protected function hasComments(): Attribute { return Attribute::make( get: fn () => $this->consultant_comments()->count() > 0, ); } }