FriendRelation.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. namespace App\Module\Friend\Models;
  3. use UCore\ModelCore;
  4. use App\Module\User\Models\User;
  5. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  6. /**
  7. * 好友关系模型
  8. *
  9. * 该模型用于表示用户之间的好友关系,包含好友基本信息、关系状态等。
  10. * field start
  11. * @property int $id 主键ID
  12. * @property int $user_id 用户ID
  13. * @property int $friend_id 好友ID
  14. * @property string $remark 好友备注名
  15. * @property int $group_id 好友分组ID
  16. * @property int $intimacy 亲密度
  17. * @property int $status 状态:1正常,2特别关注,3黑名单
  18. * @property \Carbon\Carbon $created_at 创建时间
  19. * @property \Carbon\Carbon $updated_at 更新时间
  20. * field end
  21. *
  22. * @property-read User $user 用户关联
  23. * @property-read User $friend 好友关联
  24. */
  25. class FriendRelation extends ModelCore
  26. {
  27. /**
  28. * 与模型关联的表名
  29. *
  30. * @var string
  31. */
  32. protected $table = 'friend_relations';
  33. /**
  34. * 可批量赋值的属性
  35. *
  36. * @var array
  37. */
  38. // attrlist start
  39. protected $fillable = [
  40. 'id',
  41. 'user_id',
  42. 'friend_id',
  43. 'remark',
  44. 'group_id',
  45. 'intimacy',
  46. 'status',
  47. ];
  48. // attrlist end
  49. /**
  50. * 属性默认值
  51. *
  52. * @var array
  53. */
  54. protected $attributes = [
  55. 'group_id' => 0,
  56. 'intimacy' => 0,
  57. 'status' => 1,
  58. ];
  59. /**
  60. * 属性类型转换
  61. *
  62. * @var array
  63. */
  64. protected $casts = [
  65. 'user_id' => 'integer',
  66. 'friend_id' => 'integer',
  67. 'group_id' => 'integer',
  68. 'intimacy' => 'integer',
  69. 'status' => 'integer',
  70. ];
  71. /**
  72. * 获取关联的用户
  73. *
  74. * @return BelongsTo
  75. */
  76. public function user(): BelongsTo
  77. {
  78. return $this->belongsTo(User::class, 'user_id');
  79. }
  80. /**
  81. * 获取关联的好友
  82. *
  83. * @return BelongsTo
  84. */
  85. public function friend(): BelongsTo
  86. {
  87. return $this->belongsTo(User::class, 'friend_id');
  88. }
  89. }