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;
- }
- }
|