FarmShrineConfig.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace App\Module\Farm\Models;
  3. use App\Module\Farm\Casts\FarmShrineDisplayAttributesCast;
  4. use App\Module\Farm\Casts\FarmShrineNumericAttributesCast;
  5. use App\Module\Farm\Enums\BUFF_TYPE;
  6. use UCore\ModelCore;
  7. /**
  8. * 神像配置模型
  9. * field start
  10. * @property int $id 主键ID
  11. * @property int $buff_type 神像类型:1丰收之神,2雨露之神,3屠草之神,4拭虫之神
  12. * @property string $name 神像名称
  13. * @property string $description 神像描述
  14. * @property int $duration_hours 默认持续时间(小时)
  15. * @property int $item_id 对应物品ID
  16. * @property \App\Module\Farm\Casts\FarmShrineDisplayAttributesCast $display_attributes 显示属性
  17. * @property \App\Module\Farm\Casts\FarmShrineNumericAttributesCast $numeric_attributes 数值 属性
  18. * @property \Carbon\Carbon $created_at 创建时间
  19. * @property \Carbon\Carbon $updated_at 更新时间
  20. * field end
  21. */
  22. class FarmShrineConfig extends ModelCore
  23. {
  24. /**
  25. * 与模型关联的表名
  26. *
  27. * @var string
  28. */
  29. protected $table = 'farm_shrine_configs';
  30. // attrlist start
  31. protected $fillable = [
  32. 'id',
  33. 'buff_type',
  34. 'name',
  35. 'description',
  36. 'duration_hours',
  37. 'item_id',
  38. 'display_attributes',
  39. 'numeric_attributes',
  40. ];
  41. // attrlist end
  42. /**
  43. * 应该被转换为原生类型的属性
  44. *
  45. * @var array
  46. */
  47. protected $casts = [
  48. 'buff_type' => 'integer',
  49. 'duration_hours' => 'integer',
  50. 'item_id' => 'integer',
  51. 'display_attributes' => FarmShrineDisplayAttributesCast::class,
  52. 'numeric_attributes' => FarmShrineNumericAttributesCast::class,
  53. ];
  54. /**
  55. * 获取神像类型名称
  56. *
  57. * @return string
  58. */
  59. public function getBuffTypeName(): string
  60. {
  61. return BUFF_TYPE::getName($this->buff_type);
  62. }
  63. /**
  64. * 获取神像效果描述
  65. *
  66. * @return string
  67. */
  68. public function getBuffDescription(): string
  69. {
  70. return BUFF_TYPE::getDescription($this->buff_type);
  71. }
  72. }