发现Bug,IF函数丢失参数

浏览:577 发布日期:2018/04/21
首先我把下面一条sql转换用模型输出SELECT IF(count(time)=0,addtime,max(time)) AS newtime,user.id AS id,user.name AS name,user.addtime AS addtime FROM user user LEFT JOIN datelog datelog ON user.id=datelog.uid WHERE ( status=1 ) GROUP BY user.id ORDER BY newtime desc然后运行出来结果


证明以上sql没有问题

然后我需要转换成thinphp模型的写法,如下:
先定义模型class UserLogViewModel extends ViewModel{
    public $viewFields = array(
        'user'    =>array('id','name','status','addtime','_type'=>'LEFT'),
        'datelog'    =>array('uid','time','_on'=>'user.id=datelog.uid'),
    );
}
然后我们在控制器里面调用 $list=D('UserLogView')
            ->field('id,name,IF(count(time)=0,addtime,max(time)) AS newtime')->where('status=1')
            ->order('newtime desc')->group('id')->select();
下来我们打印一下sql会发现问题echo D('UserLogView')->getLastSql();出现的问题 如下图



请看红色部分 IF中少了个参数,不知道是不是BUG问题,请求官方给个说法!
评论(
后面还有条评论,点击查看>>