123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?php
- namespace App\Repositories;
- use App\Models\SysMessage;
- use Prettus\Repository\Eloquent\BaseRepository;
- use Prettus\Repository\Criteria\RequestCriteria;
- /**
- * Class SysMessageRepository.
- *
- * @package namespace App\Repositories;
- */
- class SysMessageRepository extends BaseRepository
- {
- /**
- * Specify Model class name
- *
- * @return string
- */
- public function model()
- {
- return SysMessage::class;
- }
- //获取最新消息记录
- public function getNewestSysMessage($where, $subsite_id)
- {
- //return $this->model->whereRaw($where)->orderBy('created_at', 'desc')->first();
- return $this->model->whereHas('subsites', function ($query) use ($subsite_id) {
- $query->where('subsite_id', $subsite_id);}
- )->whereRaw($where)->orderBy('created_at', 'desc')->first();
- }
- public function getSysMessages($where, $whereIn = array(), $subsite_id = 0)
- {
- /*
- if ($whereIn) {
- reset($whereIn);
- return $this->model->where($where)->whereIn(key($whereIn), $whereIn[key($whereIn)])->get();
- } else {
- return $this->model->where($where)->get();
- }
- */
- $rst = $this->model->whereHas('subsites', function ($query) use ($subsite_id) {$query->where('subsite_id', $subsite_id);})->where($where);
- if ($whereIn && is_array($whereIn)) {
- foreach ($whereIn as $k => $v) {
- $rst->whereIn($k, $v);
- }
- }
- return $rst->get();
- }
- public function getFilterMessages($where, $subsite_id = 0)
- {
- return $this->model->whereHas('subsites', function ($query) use ($subsite_id) {$query->where('subsite_id', $subsite_id);})->whereRaw($where)->get();
- }
- }
|