Files
gamelog/app/Models/UserList.php
T
2026-05-30 17:18:19 +03:00

36 lines
914 B
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Str;
class UserList extends Model
{
protected $fillable = ['user_id', 'title', 'slug', 'description', 'is_public'];
public function getRouteKeyName(): string { return 'slug'; }
protected $casts = ['is_public' => 'boolean'];
protected static function boot(): void
{
parent::boot();
static::creating(function (UserList $list) {
if (empty($list->slug)) {
$list->slug = Str::slug($list->title);
}
});
}
public function user(): BelongsTo { return $this->belongsTo(User::class); }
public function listGames(): HasMany
{
return $this->hasMany(UserListGame::class, 'user_list_id')->orderBy('order');
}
}