where($map)条件中_开头字段的问题

where($map)条件中_开头字段的问题

$openid = M('OauthMember')->where($map)->cache()->getField('_name');

  • 今天测试微信推送的时候遇到个问题就是
  • 我往xxx_oauth_member表加了个字段用以区分AdminMember表中的会员
  • 开始添加的字段是'_type',打印出$map,结构为
Array
(
    [lock_to_id] => 5
    [status] => 1
    [_type] => 2
)

** 测试,打印输出,用该条件在navicat中执行却能查询出结果'_name'

SELECT (_name) FROM thinkoao_oauth_member WHERE lock_to_id=5 and status=1 and _type=2;

  • 但是程序就是执行不了,打印M('OauthMember')->getLastSql();firebug也是提示404
  • 后来将字段'_type' 更改为 'qtype'问题解决
  • 那么,现在的问题是,原生sql中'_type'能够执行,而

ThinkPHP中却不能在where($map)中执行,这算是Bug还是其他的问题?

转载于:https://my.oschina.net/yeahlife/blog/654957