'json', 'share_count' => 'integer', 'cover_img' => HttpToHttps::class, ]; public static function complete($episodes) { /* @var Episode $episode */ foreach ($episodes as $episode) { $episode->status_text = $episode->status; $episode->total = $episode->lists_count; } return $episodes; } public function scopeFilterPlatform($query) { return $query->where('platform', 'like', '%' . \user()->info->platform . '%'); } public function category() { return $this->belongsTo(EpisodesCategory::class, 'category_id', 'id'); } public function lists() { return $this->hasMany(EpisodesList::class, 'episodes_id', 'id'); } public function setStatusTextAttribute($value) { $config = config('global.episode_status'); $this->attributes['status_text'] = $config[$value] ?? '未知'; } public function setTotalAttribute($value) { $this->attributes['total'] = $value; } /* 购买记录 */ public function userEpisodesRecords() { return $this->hasMany(UserEpisodesRecord::class, 'episodes_id', 'id'); } // 收藏 public function userCollect() { return $this->belongsTo(UserCollect::class, 'id', 'episode_id'); } // 喜欢 public function userFavorite() { return $this->belongsTo(UserFavorite::class, 'id', 'episode_id'); } // 观看记录 public function userWatchRecord() { return $this->belongsTo(UserWatchRecord::class, 'id', 'episode_id'); } }