12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2018/11/8
- * Time: 10:15
- */
- namespace App\Repositories;
- use App\Models\Notice;
- use Prettus\Repository\Eloquent\BaseRepository;
- /**
- * Class NoticeRepositoryEloquent.
- *
- * @package namespace App\Repositories;
- */
- class NoticeRepository extends BaseRepository
- {
- /**
- * Specify Model class name
- *
- * @return string
- */
- public function model()
- {
- return Notice::class;
- }
- public function getNotices($where, $page_num)
- {
- $res = $this->model->whereHas('subsites', function ($query) {
- $query->where('subsite_id', get_subsite_id());
- })->where($where)->orderBy('sort', 'desc')->orderBy('created_at', 'desc');
- if ($page_num) {
- return $res->paginate($page_num);
- } else {
- return $res->get();
- }
- }
- public function getNotice($where)
- {
- return $this->model->with('show_category')->whereHas('subsites', function ($query) {
- $query->where('subsite_id', get_subsite_id());
- })->where($where)->first();
- }
- public function incrementData($where, $num, $filed)
- {
- return $this->model->where($where)->increment($filed, $num);
- }
- public function getLimitNotices($where = array(), $order = array(), $limit = '')
- {
- $res = $this->model->whereHas('subsites', function ($query) {
- $query->where('subsite_id', get_subsite_id());
- })->where($where);
- if ($order) {
- if (is_array($order)) {
- foreach ($order as $k => $v) {
- $res->orderBy($k, $v);
- }
- } else {
- $res->orderbyRaw($order);
- }
- }
- if ($limit) {
- $res->limit($limit);
- }
- return $res->get();
- }
- }
|