AgentPlanApplication.php 980 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace App\Models\Agent;
  3. use App\Models\BaseModel;
  4. class AgentPlanApplication extends BaseModel
  5. {
  6. public const STATUS_PENDING = 'pending';
  7. public const STATUS_APPROVED = 'approved';
  8. public const STATUS_REJECTED = 'rejected';
  9. protected $table = 'agent_plan_applications';
  10. protected $guarded = ['id'];
  11. protected $hidden = [];
  12. protected $appends = ['status_text'];
  13. protected $casts = ['agent_id' => 'integer', 'profile_id' => 'integer', 'reviewed_by' => 'integer', 'reviewed_at' => 'datetime'];
  14. public function agent()
  15. {
  16. return $this->belongsTo(Agent::class);
  17. }
  18. public function profile()
  19. {
  20. return $this->belongsTo(AgentProfitCommissionProfile::class, 'profile_id');
  21. }
  22. public function getStatusTextAttribute(): string
  23. {
  24. return [self::STATUS_PENDING => '待审核', self::STATUS_APPROVED => '已通过', self::STATUS_REJECTED => '已驳回'][(string) $this->status] ?? '';
  25. }
  26. }