zoukankan      html  css  js  c++  java
  • laravel为模型中所有查询统一添加WHERE条件

        在使用laravel开发web系统的过程,需要在model处为该模型统一添加一个条件或者多个条件,研究了一个laravel的模型类,发现model中有个方法是构建查询的,方法如下:

    /**
     * Register the global scopes for this builder instance.
     *
     * @param  IlluminateDatabaseEloquentBuilder  $builder
     * @return IlluminateDatabaseEloquentBuilder
     */
    public function registerGlobalScopes($builder)
    {
        foreach ($this->getGlobalScopes() as $identifier => $scope) {
            $builder->withGlobalScope($identifier, $scope);
        }
    
        return $builder;
    }

    我们只需要在model里面修改这个方法的实现就可以
    例如User
    class Users extends Model
    {
        protected $table = 'users';
    
        protected $hidden = [
    
        ]
        foreach ($this->getGlobalScopes() as $identifier => $scope) {
            $builder->withGlobalScope($identifier, $scope);
        }
        //这里就可以随便添加统一的条件了
        $builder->where('channel_id','=',1);
        return $builder;
    }
  • 相关阅读:
    2021.3.3
    2021.3.2
    2021.3.1
    2021.2.28(每周总结)
    2021.2.27
    2021.2.26
    2021.2.25
    2021.2.23
    Redis系统学习之五大基本数据类型(List(列表))
    Redis系统学习之五大基本数据类型(String(字符串))
  • 原文地址:https://www.cnblogs.com/weishanyun/p/11207095.html
Copyright © 2011-2022 走看看