SysMessageModel.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Model;
  4. use Hyperf\Database\Model\Events\Created;
  5. use Hyperf\Database\Model\Events\Creating;
  6. use Hyperf\Database\Model\SoftDeletes;
  7. class SysMessageModel extends BaseModel
  8. {
  9. /**
  10. * 表名.
  11. *
  12. * @var string
  13. */
  14. protected $table = 'sys_message';
  15. /**
  16. * UUID 键名
  17. * @var string
  18. */
  19. protected $uuidKeyName = 'uid';
  20. /**
  21. * 定义
  22. * @var string[]
  23. */
  24. protected $casts = [
  25. 'content' => 'json',
  26. ];
  27. /**
  28. * 新数据创建时触发.
  29. *
  30. * @param Creating $event 事件.
  31. *
  32. * @return null
  33. */
  34. public function creating(Creating $event)
  35. {
  36. $randId = self::generateId($this->uuidKeyName,16);
  37. $event->getModel()->setAttribute($this->uuidKeyName, $randId);
  38. }
  39. /**
  40. * 新数据创建完毕后触发.
  41. * @param Created $event
  42. */
  43. public function created(Created $event)
  44. {
  45. $uuid = hashEncodeId($event->getModel()->getAttribute($this->primaryKey));
  46. $event->getModel()->setAttribute($this->uuidKeyName, $uuid);
  47. $event->getModel()->save();
  48. }
  49. }