You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

MemberModel.php 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace app\model\store;
  3. use app\model\store\LevelModel;
  4. use app\model\store\StaffMemberModel;
  5. use app\common\model\CommonModel;
  6. class MemberModel extends CommonModel{
  7. protected $name = 'store_member';
  8. protected $pk = 'member_id';
  9. public function level()
  10. {
  11. return $this->hasOne(LevelModel::class,'level_id','level_id');
  12. }
  13. public function balance()
  14. {
  15. return $this->hasMany(MemberBalanceModel::class,'member_id','member_id');
  16. }
  17. public function integral()
  18. {
  19. return $this->hasMany(MemberIntegralModel::class,'member_id','member_id');
  20. }
  21. public function adviser()
  22. {
  23. return $this->hasOne(StaffMemberModel::class,'member_id','member_id');
  24. }
  25. public function getBirthdayAttr($value,$data)
  26. {
  27. $my = $data['birthday_year'].'-'.$data['birthday_month'].'-'.$data['birthday_day'];
  28. return empty( $data['birthday_year']) ? '' : $my;
  29. }
  30. public function getHiddenMobileAttr($value,$data)
  31. {
  32. $mobile=$data['mobile'] ?? '';
  33. return yc_phone($mobile);
  34. }
  35. public function getMemberInfoByMemberId($memberIds,$type = 0){
  36. $where = [
  37. ['member_id','IN',$memberIds],
  38. ];
  39. $datas = $this->field('member_id,face,nick_name,mobile')->where($where)->select()->toArray();
  40. $return = [];
  41. foreach($datas as $val){
  42. $return[$val['member_id']] = $val;
  43. }
  44. return $return;
  45. }
  46. }