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;
    }
  • 相关阅读:
    HDU2203
    POJ3616
    堆排序
    POJ1386+欧拉回路
    快速排序(实现)
    HDU3549+FordFulkerson
    POJ2155
    POJ1195
    mysql案例~关于linux服务器本身的优化问题
    mysql案例~mysql主从复制延迟概总
  • 原文地址:https://www.cnblogs.com/weishanyun/p/11207095.html
Copyright © 2011-2022 走看看