函数扩展

DeepSeek - AI生成摘要

函数扩展 为了适配多场景下常见需求,通过 Providers 扩展相应功能。 DB 扩展 app/Providers/DBServiceProvider.php //通过 wheres 扩展原有 where 方法不支持 in 、between 的问题 Builder::macro('wheres',function() { //... }); //使用方法 $where=[

函数扩展

为了适配多场景下常见需求,通过 Providers 扩展相应功能。

  • DB 扩展 app/Providers/DBServiceProvider.php
    //通过 wheres 扩展原有 where 方法不支持 in 、between 的问题
    Builder::macro('wheres',function() {
        //...
    });
    //使用方法
    $where=[
        ['name','=','张三'],
        ['age','>',18],
        ['like','in',['阅读','旅行']],
        ['birthday','between',[1990,1999]]
    ];
    DB::table('user')->wheres($where)->get();
    
  • 集合扩展 app/Providers/CollectionServiceProvider.php
    //通过 toList 方法扩展原有 toArray 方法无法处理多维数据转化问题
    Collection::macro('toList', function() {
        //...
    });
    //使用方法
    DB::table('user')->where('sex',0)->get()->toList();
    
  • 全局配置 config/app.php
    'providers' => ServiceProvider::defaultProviders()->merge([
        //...
        App\Providers\DBServiceProvider::class,
        App\Providers\CollectionServiceProvider::class
    ])->toArray()

DeepSeek 推理问答

×

如问我这篇文章讲了什么。这篇文章是什么意思等。

0 条回复A文章作者M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
搜索