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