UserRelationDao.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. /**
  3. * @package merchant
  4. *
  5. * @author xaboy
  6. * @day 2020/5/27
  7. *
  8. *
  9. */
  10. namespace app\common\dao\user;
  11. use app\common\dao\BaseDao;
  12. use app\common\model\user\UserRelation;
  13. use app\common\model\user\UserRelation as model;
  14. /**
  15. * Class UserVisitDao
  16. * @package app\common\dao\user
  17. * @author xaboy
  18. * @day 2020/5/27
  19. */
  20. class UserRelationDao extends BaseDao
  21. {
  22. /**
  23. * @return string
  24. * @author xaboy
  25. * @day 2020/5/27
  26. */
  27. protected function getModel(): string
  28. {
  29. return model::class;
  30. }
  31. /**
  32. * @param $field
  33. * @param $value
  34. * @param null $type
  35. * @param null $uid
  36. * @return mixed
  37. * @author Qinii
  38. */
  39. public function apiFieldExists($field,$value,$type = null,$uid = null)
  40. {
  41. return $this->getModel()::getDB()->when($uid,function($query)use($uid){
  42. $query->where('uid',$uid);
  43. })->when($type,function($query)use($type){
  44. $query->where('type',$type);
  45. })->where($field,$value);
  46. }
  47. /**
  48. * @param $where
  49. * @return mixed
  50. * @author Qinii
  51. */
  52. public function search($where)
  53. {
  54. $query = ($this->getModel()::getDB())->when((isset($where['type']) && $where['type']) ,function($query)use($where){
  55. $query->where('type',$where['type']);
  56. })->when((isset($where['uid']) && $where['uid']) ,function($query)use($where){
  57. $query->where('uid',$where['uid']);
  58. });
  59. return $query->order('create_time DESC');
  60. }
  61. /**
  62. * @param array $where
  63. * @author Qinii
  64. */
  65. public function destory(array $where)
  66. {
  67. ($this->getModel()::getDB())->where($where)->delete();
  68. }
  69. public function dayLikeStore($day, $merId = null)
  70. {
  71. return getModelTime(UserRelation::getDB()->where('type', 10)->when($merId, function ($query, $merId) {
  72. $query->where('type_id', $merId);
  73. }), $day)->count();
  74. }
  75. public function dateVisitStore($date, $merId = null)
  76. {
  77. return UserRelation::getDB()->where('type', 11)->when($merId, function ($query, $merId) {
  78. $query->where('type_id', $merId);
  79. })->when($date, function ($query, $date) {
  80. getModelTime($query, $date, 'create_time');
  81. })->count();
  82. }
  83. }