| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | 
							- <?php
 
- namespace App\Repositories;
 
- use App\Models\MemberInfo;
 
- use Prettus\Repository\Eloquent\BaseRepository;
 
- use Prettus\Repository\Criteria\RequestCriteria;
 
- use Illuminate\Support\Facades\DB;
 
- /**
 
-  * Class MemberRepositoryEloquent.
 
-  *
 
-  * @package namespace App\Repositories;
 
-  */
 
- class MemberInfoRepository extends BaseRepository
 
- {
 
-     /**
 
-      * Specify Model class name
 
-      *
 
-      * @return string
 
-      */
 
-     public function model()
 
-     {
 
-         return MemberInfo::class;
 
-     }
 
-     /**
 
-      * Boot up the repository, pushing criteria
 
-      */
 
-     public function boot()
 
-     {
 
-         $this->pushCriteria(app(RequestCriteria::class));
 
-     }
 
-     /**
 
-      * @param $uid
 
-      * @return mixed
 
-      */
 
-     public function getMemberInfo($uid)
 
-     {
 
-         return $this->model->where(['uid'=>$uid])
 
-             ->first();
 
-     }
 
-     public function createInfo($data)
 
-     {
 
-         return $this->model->create($data);
 
-     }
 
-     public function updateInfo($data, $uid)
 
-     {
 
-         return $this->model->where(['uid'=>$uid])->update($data);
 
-     }
 
-     public function findMemberInfo($where)
 
-     {
 
-         return $this->model->where($where)->first();
 
-     }
 
-     public function getCount($where, $subsite_id)
 
-     {
 
-         return $this->model->when($subsite_id,function ($query) use($subsite_id) {
 
-             $query->whereHas('members', function ($query) use($subsite_id) {
 
-                 $query->where($subsite_id);
 
-             });
 
-         })->where($where)->count();
 
-     }
 
-     public function getMemberNumsByGroup($where, $member_where, $fields, $group_by, $order_by = '', $limit = '')
 
-     {
 
-         $rst = $this->model->select(DB::raw($fields))->where($where)->when($member_where, function ($query) use ($member_where) {
 
-             $query->whereHas('members', function ($query) use ($member_where) {
 
-                 $query->where($member_where);
 
-             });
 
-         });
 
-         if ($group_by) {
 
-             $rst->groupBy($group_by);
 
-         }
 
-         if ($order_by) {
 
-             $rst->orderByRaw($order_by);
 
-         }
 
-         if ($limit) {
 
-             $rst->offset(0)->limit($limit);
 
-         }
 
-         return $rst->get();
 
-     }
 
-     public function checkUniaue($key, $value)
 
-     {
 
-         if ($this->model->withTrashed()->where($key, $value)->first()) {
 
-             return false;
 
-         }
 
-         return true;
 
-     }
 
- }
 
 
  |