Files
2026-06-10 08:30:03 +00:00

59 lines
1.3 KiB
PHP
Executable File

<?php
namespace App\Models;
use App\Traits\HasUuid;
use DateTimeInterface;
use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
class PackageName extends Model implements HasMedia
{
use HasUuid, Filterable, InteractsWithMedia;
protected $guarded = [];
const SOURCES = [
'unknown' => 0,
'google_play' => 1,
'cafe' => 2,
'myket' => 3,
'web' => 4,
];
public function registerMediaCollections(): void
{
$this->addMediaCollection('firebase_json')->singleFile();
}
public function getRouteKeyName()
{
return 'name';
}
public function users()
{
return $this->belongsToMany(User::class, 'user_package_name')->withPivot(['id', 'tries', 'source', 'fcm_token'])->withTimestamps();
}
public function getImageAttribute()
{
return url($this->attributes['image']);
}
protected function serializeDate(DateTimeInterface $date)
{
return $date->format('Y-m-d H:i:s');
}
public function products()
{
return $this->hasMany(Product::class);
}
public function cafeConfig()
{
return $this->belongsTo(CafeConfig::class);
}
}