laravel 模型过滤

我们经常将 筛选的功能都写在了 控制器内,但是当筛选 字段比较多时,控制器就会很臃肿,这时我们采用模型过滤方式,让代码变得整洁 各司其职

创建 抽象类 QueryFilter

<?php
namespace App\Models;

use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\Builder;
/**
 * Copyright (C), 2021-2021, lwlCms.
 * FileName: QueryFilter.php
 * Description: 说明
 *
 * @author lwl
 * @Create Date    2021/5/23 19:14
 * @Update Date    2021/5/23 19:14 By lwl
 * @version v1.0
 */

abstract class QueryFilter
{
   
   

    protected $request;
    protected $builder;

    public function __construct(Request $request)
    {
   
   
        $this->request = $request;
    }

    public function apply(Builder $builder)
    {
   
   
        $this->builder = $builder;

        foreach ($this->filters() as $name => 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值