3.2.2用where表达式查询时遇到了个问题!

浏览:1069 发布日期:2014/06/25 分类:求助交流
        //使用M方法实例化,参数跟Model一样, 但 不需导入命名空间
        //$user = M("User");
        
           //使用D方法实例化, 首先查找当前模块自定义模型, 找不到从common下Model里(即公共模块)找, 找不到调用M方法, 参数跟Model一样
        $user = D("User");

        //where 方法的参数
        //$map['id'] = array('EQ', 3); //等于 3
        //$map['id'] = array('NEQ', 3); //不等于 3
        //$map['id'] = array('GT', 3); //大于 3 
        //$map['id'] = array('EGT', 3); //大于等于 3
        //$map['id'] = array('LT', 3); //小于 3
        //$map['id'] = array('ELT', 3); //小于等于 3
        $map['user_name'] = array('LIKE', '%ad%'); //包含 ad, 其他两种 : %ad - ad结束的, ad% - ad开头的
        $map['user_name'] = array('LIKE', array('%ad%', '%do%'), 'OR'); //包含 ad, 其他两种 : %ad - ad结束的, ad% - ad开头的
        //$map['id'] = array('BETWEEN', array(1,4)); //1-3之间
        $map['id'] = array('BETWEEN', '1, 3'); //1-3之间
        //$map['id'] = array('IN', array(1,4)); //从数组中选择
        
        $map['user_name|user_email'] = "doghap";
        
        var_dump($user-> where($map)-> select());
        
上面代码中没有注释的行,在用where语句时对用M方法实例化的对象有效,对D方法实例化的对象失效。D方法调用的是自定义模型UserModel。比如:
$map['user_name|user_email'] = "doghap"; 这语句事, 打出来的SQL语句是:SELECT * FROM think_user WHERE ( (user_name = '') OR (user_email = '') ),
最佳答案
评论( 相关
后面还有条评论,点击查看>>