123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Model;
- class VCoachAuthRecord extends Model
- {
-
- protected $table = 'v_coach_auth_record';
-
- public $timestamps = false;
-
- protected $guarded = [];
-
- protected $appends = [
- 'portrait_images_url',
- 'id_card_images_url',
- 'qual_photo_url',
- 'business_license_url',
- 'health_certificate_url',
- 'avatar_url'
- ];
-
- public function getPortraitImagesUrlAttribute(): ?array
- {
- if (!$this->portrait_images) {
- return null;
- }
- $images = is_string($this->portrait_images)
- ? json_decode($this->portrait_images, true)
- : $this->portrait_images;
- return array_map(function ($image) {
- return "/api/download?filename={$image}&bucket=user-avatar";
- }, $images);
- }
-
- public function getIdCardImagesUrlAttribute(): ?array
- {
- if (!$this->id_card_images) {
- return null;
- }
- $images = is_string($this->id_card_images)
- ? json_decode($this->id_card_images, true)
- : $this->id_card_images;
- return array_map(function ($image) {
- return "/api/download?filename={$image}&bucket=user-avatar";
- }, $images);
- }
-
- public function getQualPhotoUrlAttribute(): ?array
- {
- if (!$this->qual_photo) {
- return null;
- }
- $images = is_string($this->qual_photo)
- ? json_decode($this->qual_photo, true)
- : $this->qual_photo;
- return array_map(function ($image) {
- return "/api/download?filename={$image}&bucket=user-avatar";
- }, $images);
- }
-
- public function getBusinessLicenseUrlAttribute(): ?array
- {
- if (!$this->business_license) {
- return null;
- }
- $images = is_string($this->business_license)
- ? json_decode($this->business_license, true)
- : $this->business_license;
- return array_map(function ($image) {
- return "/api/download?filename={$image}&bucket=user-avatar";
- }, $images);
- }
-
- public function getHealthCertificateUrlAttribute(): ?array
- {
- if (!$this->health_certificate) {
- return null;
- }
- $images = is_string($this->health_certificate)
- ? json_decode($this->health_certificate, true)
- : $this->health_certificate;
- return array_map(function ($image) {
- return "/api/download?filename={$image}&bucket=user-avatar";
- }, $images);
- }
-
- public function getAvatarUrlAttribute(): ?string
- {
- return $this->avatar
- ? "/api/download?filename={$this->avatar}&bucket=user-avatar"
- : null;
- }
-
- public function coach()
- {
- return $this->belongsTo(CoachUser::class, 'coach_id', 'id');
- }
- }
|