File manager - Edit - /var/www/html/portalHomolog/app/Models/ReusableMenu.php
Back
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Support\Str; use DateTimeInterface; class ReusableMenu extends Model { use HasFactory; public $incrementing = false; protected $keyType = 'string'; protected $table = 'reusable_menus'; const CREATED_AT = 'created_at'; const UPDATED_AT = 'updated_at'; protected $fillable = [ 'id', 'created_at', 'updated_at', 'title', 'summary', 'status', ]; protected $casts = [ 'status' => 'string', ]; public function menuLinks(): HasMany { return $this->hasMany(ReusableMenuLink::class, 'reusable_menu_id')->orderBy('order', 'asc'); } public function scopeSearch(Builder $query, ?string $term): Builder { $term = $term !== null ? trim((string) $term) : null; if (!$term) { return $query; } return $query->where(function ($q) use ($term) { $q->where('title', 'like', "%{$term}%") ->orWhere('summary', 'like', "%{$term}%"); }); } public function scopeOrderedForAdmin(Builder $query): Builder { return $query->orderBy('created_at', 'DESC'); } public static function boot(): void { parent::boot(); static::creating(function ($model) { if (empty($model->id)) { $model->id = Str::uuid(); } }); } protected function serializeDate(DateTimeInterface $date): string { return $date->format('Y-m-d H:i:s'); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings