zhb1875

39775-zhb1875

这家伙有点懒,还没写个性签名!

  • 财富值

    265

  • 威望值

    30

  • 总积分

    685

个人信息

  • 回复了 的说说
    自己辛辛苦苦写的方案,不被老总认可,却又被拿去跟客户讲解,是一种什么感受
    应该高兴才对,台前没有你,但是你才是幕后的大佬!证明了你的成功!要换一种角度去想!
    2017-06-16 08:37查看
  • 发布了话题
    2017-06-15 11:43浏览(113) | 回复(0)
  • 发表了说说
    面向对象设计之什么是扩展?
    2017-06-15 11:34浏览(17) | 回复(1)
  • 回复了 的回答

    多个条件灵活拼什么拼 条件个数不定 怎么拼接?尽说这种一个条件或者条件个数特定的 一群垃圾

    多个条件灵活拼接: /**

     * 条件数组
    

    ps:r如果以后有多个查询条件,只需要写这个数组就行。 数组还支持自定义查询参数名 写法结构为: '自定义' => ['字段名','='], 字段名与运算符前后顺序没有过多做兼容解析

     * key(查询条件名) => value(数据存储名)
     */
    protected static $conditionFiles = [
        'orderSn' => '=',
        'orderState' => '=',
        'buyerMobile' => 'like',
    ];
    

    /**

     * 封装查询方法
     * @param $params
     * @return array|string|\yii\db\ActiveRecord[]
     */
    public function Search($params){
        $result = '';//初始查询结果为空
        $condition = $this->autoLoadSearchClass($params);
        if(count($condition)>0){
            $result = self::createSql($condition);
        }
        return $result;
    }
    
    /**
     * 生成SQL
     * @param $condition
     * @return array|\yii\db\ActiveRecord[]
     */
    private function createSql($condition){
        $query = Orders::find();
        foreach ($condition as $key=>$val){
            $query->andWhere($val);
        }
        $sql = $query->createCommand()->getRawSql();
        $result = $query->all();
        return  ['result' => $result,'sql'=>$sql];
    }
    
    /**
     * 根据查询参数匹配类
     */
    protected static $classFiles = [
        'orderSn' => 'searchOrderSn',
        'orderState' => 'searchOrderState'
    ];
    public static function getClassName($fileName){
        return self::$classFiles[$fileName];
    }
    public static function getFiles($key){
        if(isset(self::$conditionFiles[$key])){
            return self::$conditionFiles[$key];
        }else{
            return '';
        }
    }
    

    /**

     * 自动加载查询参数扩展类
     * @param $ParamsName
     * @return array|string
     */
    public function autoLoadSearchClass($ParamsName){
        if(!isset($ParamsName) || !is_array($ParamsName)){
            return '';
        }
        $condition = [];
        foreach($ParamsName['OrdersSearch'] as $key => $val) {
            $condition_array = self::getFiles($key);//检查设置$key条件属性数组
            if (empty($val) || empty($condition_array)) {
                continue;
            }
            $value = self::getFiles($key);
            if(is_array($value)){
                $operator = $value[1];//自定义参数名时使用
            }else{
                $operator = $value;
            }
            $condition[] = [$operator, $key, $val];
        }
        return $condition;
    }
    
    2017-06-06 14:59查看
  • 情况1: $updateCommon['type'] = 1; OrderCommon::updateAll($updateCommon, ['orderId' => $orderId]);

    情况2: $orderModel->orderCommon->type = 1; $orderModel->orderCommon->save();

    这两种更新方式,哪个更快?

    2017-05-25 12:06查看
  • 回复了 的回答

    这个应该是网页到数据库执行操作移动端到执行数据库更新要晚吧;执行操作肯定分先后的,数据库更新会自动锁表的。要么在刚进方法就进队列,个人觉得没意义;这个和网络有点关系,导致你以为 你先点击网页,在点移动端,其实在方法里应该是先接受到移动端的请求,之后才是网页吧

    网页和移动端,分别调用自己的方法,不是调用同一个方法的。

    2017-05-25 11:35查看
  • 发表了说说
    来任务了,耽误了这几天写文章了。争取晚上回去补回来!!!
    2017-05-25 10:28浏览(4) | 回复(0)
  • 2017-05-25 已签到
    连续签到4天,获得了20个金钱
    2017-05-25 10:27

主管 查看等级规则 | 排行榜

685/100068.5% Complete
685/100068.5% Complete
685/100068.5% Complete

Ta的关注 5

所有关注»

Ta的粉丝 12

所有粉丝»

最近访客

所有访客»
在线
679