123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- namespace App\Admin\Repositories;
- use App\Models\SiteAlbum as Model;
- use Dcat\Admin\Repositories\EloquentRepository;
- class SiteAlbum extends EloquentRepository
- {
- /**
- * Model.
- *
- * @var string
- */
- protected $eloquentClass = Model::class;
- public static function siteAlbumPaginate($filter = [],$sort = [],$perPage = 15,$page = 1)
- {
- $siteAlbum = new Model();
- //筛选条件排除IDS
- $notInIds = isset($filter['not_in_ids'])? $filter['not_in_ids'] : [];
- if ($notInIds) {
- $notInIds = explode(',', $notInIds);
- $siteAlbum = $siteAlbum->whereNotIn('id', $notInIds);
- }
- $inIds = isset($filter['in_ids'])? $filter['in_ids'] : [];
- if ($inIds) {
- $inIds = explode(',', $inIds);
- $siteAlbum = $siteAlbum->whereIn('id', $inIds);
- }
- //中文标题搜索
- $title = isset($filter['title'])? $filter['title'] : '';
- if ($title) {
- $siteAlbum = $siteAlbum->where('title', 'like', '%'. $title. '%');
- }
- //英文标题搜索
- $title_en = isset($filter['title_en'])? $filter['title_en'] : '';
- if ($title_en) {
- $siteAlbum = $siteAlbum->where('title_en', 'like', '%'. $title_en. '%');
- }
- //
- $filterModel = isset($filter['model'])? $filter['model'] : '';
- if ($filterModel) {
- $siteAlbum = $siteAlbum->where('model', 'like', '%'. $filterModel. '%');
- }
- //文件夹搜索
- $folder_id = isset($filter['folder_id'])? $filter['folder_id'] : '';
- if ($folder_id) {
- $siteAlbum = $siteAlbum->where('folder_id', $folder_id);
- }
- $albumFolder = isset($filter['album_folder'])? $filter['album_folder'] : -1;
- if ($albumFolder != -1) {
- $siteAlbum = $siteAlbum->whereIn('folder_id', $albumFolder);
- }
- //排序
- if (empty($sort)) {
- $siteAlbum = $siteAlbum->orderBy('id', 'desc');
- } else {
- $siteAlbum = $siteAlbum->orderBy($sort[0], $sort[1]);
- }
- $result = $siteAlbum->paginate(
- $perPage, $columns = ['*'], $pageName = 'page', $page
- );
- return $result;
- }
- public static function getByFolderId($id)
- {
- $siteAlbum = new Model();
- $result = $siteAlbum->where('folder_id', $id)->first();
- return $result;
- }
- }
|