cafeg/app/Models/Member.php
ukyo ceeddda8b8 feat.promocode 加user name
fix. 彈跳視窗在手機bug

feat.menu 使用 slug 對應 route
2025-02-05 15:12:57 +08:00

77 lines
1.5 KiB
PHP

<?php
namespace App\Models;
use App;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
use App\Models\Promocode;
class Member extends Authenticatable
{
use HasApiTokens, Notifiable;
protected $table = 'members';
/**
* 可填充的屬性。
*
* @var array<int, string>
*/
protected $fillable = [
'name',
'email',
'avatar',
'phone',
'source',
'password',
'line_id',
];
// 定義 Level 描述對應
public static $levelName = [
0 => '一般會員',
1 => '白銀會員',
2 => '白金會員',
9 => '管理員',
];
// 訪問器:自動轉換 Level
public function getLevelNameAttribute()
{
return self::$levelName[$this->level] ?? '未知會員';
}
/**
* 隱藏的屬性。
*
* @var array<int, string>
*/
protected $hidden = [
'password',
'remember_token',
];
/**
* 屬性轉型。
*
* @var array<string, string>
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
public function getPromoCode()
{
return $this->hasMany(Promocode::class, 'used_count', 'id');
}
protected function casts(): array
{
return [
'email_verified_at' => 'datetime',
'password' => 'hashed',
];
}
}