TestMember.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Author: 芸众商城 www.yunzshop.com
  5. * Date: 22/02/2017
  6. * Time: 21:33
  7. */
  8. namespace app\common\models;
  9. use app\common\observers\TestMemberObserver;
  10. use Eloquent;
  11. class TestMember extends BaseModel
  12. {
  13. public $table = 'mc_members';
  14. /**
  15. * 可填充字段
  16. * $member = TestMember::create(['name' => 'janpan']);.
  17. *
  18. * @var array
  19. */
  20. //protected $fillable = [''];
  21. /**
  22. * 不可填充字段.
  23. *
  24. * @var array
  25. */
  26. protected $guarded = [''];
  27. /**
  28. * 定义结果中隐藏字段.
  29. *
  30. * @var array
  31. */
  32. protected $hidden = ['password'];
  33. /**
  34. * 可显示的字段.
  35. *
  36. * @var array
  37. */
  38. protected $visible = ['first_name', 'last_name'];
  39. public $goodsForm = [];
  40. /**
  41. * 自定义字段名
  42. * 可使用
  43. * @return array
  44. */
  45. public function atributeNames()
  46. {
  47. return [
  48. 'title'=> trans('member.title'),
  49. 'body'=>'内容'
  50. ];
  51. }
  52. /**
  53. * 字段规则
  54. * @return array
  55. */
  56. public function rules()
  57. {
  58. return [
  59. 'title' => 'required|string|max:255',
  60. 'body' => 'required|image|Min:3',
  61. ];
  62. }
  63. /**
  64. * 在boot()方法里注册下模型观察类
  65. * boot()和observe()方法都是从Model类继承来的
  66. * 主要是observe()来注册模型观察类,可以用TestMember::observe(new TestMemberObserve())
  67. * 并放在代码逻辑其他地方如路由都行,这里放在这个TestMember Model的boot()方法里自启动。
  68. */
  69. public static function boot()
  70. {
  71. parent::boot();
  72. // 开始事件的绑定...
  73. //creating, created, updating, updated, saving, saved, deleting, deleted, restoring, restored.
  74. static::creating(function (Eloquent $model) {
  75. if ( ! $model->isValid()) {
  76. // Eloquent 事件监听器中返回的是 false ,将取消 save / update 操作
  77. return false;
  78. }
  79. });
  80. //注册观察者
  81. static::observe(new TestMemberObserver());
  82. }
  83. /**
  84. * Register the service provider.
  85. *
  86. * @return void
  87. */
  88. public function register()
  89. {
  90. //
  91. }
  92. }