FarmUser.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. namespace App\Module\Farm\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  5. use Illuminate\Database\Eloquent\Relations\HasMany;
  6. /**
  7. * 用户农场信息模型
  8. * field start
  9. * @property int $id 主键ID
  10. * @property int $user_id 用户ID
  11. * @property int $house_level 房屋等级
  12. * @property string $last_upgrade_time 最后升级时间
  13. * @property \Carbon\Carbon $created_at 创建时间
  14. * @property \Carbon\Carbon $updated_at 更新时间
  15. * field end
  16. */
  17. class FarmUser extends Model
  18. {
  19. /**
  20. * 与模型关联的表名
  21. *
  22. * @var string
  23. */
  24. protected $table = 'farm_users';
  25. /**
  26. * 可批量赋值的属性
  27. *
  28. * @var array
  29. */
  30. protected $fillable = [
  31. 'user_id',
  32. 'house_level',
  33. 'last_upgrade_time',
  34. ];
  35. /**
  36. * 应该被转换为日期的属性
  37. *
  38. * @var array
  39. */
  40. protected $dates = [
  41. 'last_upgrade_time',
  42. 'created_at',
  43. 'updated_at',
  44. ];
  45. /**
  46. * 获取用户的土地
  47. *
  48. * @return HasMany
  49. */
  50. public function lands(): HasMany
  51. {
  52. return $this->hasMany(FarmLand::class, 'user_id', 'user_id');
  53. }
  54. /**
  55. * 获取用户的神灵加持
  56. *
  57. * @return HasMany
  58. */
  59. public function buffs(): HasMany
  60. {
  61. return $this->hasMany(FarmGodBuff::class, 'user_id', 'user_id');
  62. }
  63. /**
  64. * 获取用户房屋等级对应的配置
  65. *
  66. * @return BelongsTo
  67. */
  68. public function houseConfig(): BelongsTo
  69. {
  70. return $this->belongsTo(FarmHouseConfig::class, 'house_level', 'level');
  71. }
  72. }