EpisodesCategory.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace App\Models;
  3. use Dcat\Admin\Traits\HasDateTimeFormatter;
  4. use Illuminate\Database\Eloquent\SoftDeletes;
  5. use Illuminate\Database\Eloquent\Model;
  6. /**
  7. * App\Models\EpisodesCategory.
  8. *
  9. * @property int $id
  10. * @property string $name 名称
  11. * @property int $level 分类等级
  12. * @property int $pid 父id
  13. * @property string|null $path 路径
  14. * @property int $sort 排序越大越靠前
  15. * @property \Illuminate\Support\Carbon|null $updated_at
  16. * @property \Illuminate\Support\Carbon|null $deleted_at
  17. * @property \Illuminate\Support\Carbon|null $created_at
  18. *
  19. * @method static \Illuminate\Database\Eloquent\Builder|EpisodesCategory newModelQuery()
  20. * @method static \Illuminate\Database\Eloquent\Builder|EpisodesCategory newQuery()
  21. * @method static \Illuminate\Database\Query\Builder|EpisodesCategory onlyTrashed()
  22. * @method static \Illuminate\Database\Eloquent\Builder|EpisodesCategory query()
  23. * @method static \Illuminate\Database\Eloquent\Builder|EpisodesCategory whereCreatedAt($value)
  24. * @method static \Illuminate\Database\Eloquent\Builder|EpisodesCategory whereDeletedAt($value)
  25. * @method static \Illuminate\Database\Eloquent\Builder|EpisodesCategory whereId($value)
  26. * @method static \Illuminate\Database\Eloquent\Builder|EpisodesCategory whereName($value)
  27. * @method static \Illuminate\Database\Eloquent\Builder|EpisodesCategory wherePath($value)
  28. * @method static \Illuminate\Database\Eloquent\Builder|EpisodesCategory wherePid($value)
  29. * @method static \Illuminate\Database\Eloquent\Builder|EpisodesCategory whereSort($value)
  30. * @method static \Illuminate\Database\Eloquent\Builder|EpisodesCategory whereUpdatedAt($value)
  31. * @method static \Illuminate\Database\Query\Builder|EpisodesCategory withTrashed()
  32. * @method static \Illuminate\Database\Query\Builder|EpisodesCategory withoutTrashed()
  33. *
  34. * @mixin \Eloquent
  35. *
  36. * @property EpisodesCategory|null $parent
  37. * @property \App\Models\Episode|null $episodes
  38. * @property \Illuminate\Database\Eloquent\Collection|EpisodesCategory[] $child
  39. * @property int|null $child_count
  40. * @property int|null $episodes_count
  41. *
  42. * @method static \Illuminate\Database\Eloquent\Builder|EpisodesCategory whereLevel($value)
  43. */
  44. class EpisodesCategory extends Model
  45. {
  46. use HasDateTimeFormatter;
  47. use SoftDeletes;
  48. protected $table = 'episodes_category';
  49. protected $hidden = [
  50. 'updated_at', 'deleted_at', 'path',
  51. ];
  52. public function parent()
  53. {
  54. return $this->belongsTo(EpisodesCategory::class, 'pid', 'id');
  55. }
  56. public function child()
  57. {
  58. return $this->hasMany(EpisodesCategory::class, 'pid', 'id');
  59. }
  60. public function episodes()
  61. {
  62. return $this->hasMany(Episode::class, 'category_id', 'id');
  63. }
  64. }