12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?php
- namespace App\Traits;
- use App\Filters\Filter;
- use Illuminate\Database\Eloquent\Builder;
- use Illuminate\Support\Facades\Log;
- use Illuminate\Support\Facades\Request;
- /**
- * 通用模型中的方法
- *
- * Trait ModelHelpers
- * @package App\Traits
- */
- trait ModelHelpers
- {
- /**
- * 最大每页数,避免瞎搞的人
- *
- * @var int
- */
- protected $maxPerPage = 200;
- public function getPerPage()
- {
- $perPage = Request::get('per_page');
- $intPerPage = (int) $perPage;
- if (($intPerPage > 0) && ((string) $intPerPage === $perPage)) {
- return min($intPerPage, $this->maxPerPage);
- } else {
- // return $this->perPage;
- return 10;
- }
- }
- /**
- * 应用过滤器
- *
- * @param Builder $builder
- * @param Filter $filter
- *
- * @return mixed
- */
- public function scopeFilter(Builder $builder, Filter $filter)
- {
- return $filter->apply($builder);
- }
- }
|