thinkphp 里sql 语句如何解读????

thinkphp 里 sql 语句为啥这样写,怎么解读。。。。。
M('fields')->where('(model = \'\' or model = \'customer\') and is_validate=1 and is_main=1')->select();

这个不是原生写法,这是tp固有的写法,里面对语句做了封装,就是查询fields表里条件是model为空或其他条件符合的值。明白了吧!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-18
这个代码是thinkphp3.2的写法,但是条件语句用的是原生查询,没有使用模型的组装方法,条件会直接拼装到sql语句中where部分,一般不建议这样写。
可以解释为
model 值 为空或者 'customer' 且 is_validate=1 且 is_main=1本回答被网友采纳
第2个回答  2019-01-17
查询fields表中 条件model=''(空)或者=coustomer 并且 is_validate=1 并且is_main=1的所有数据
第3个回答  2019-01-19
你可以使用 getLastSql() 这个函数获取的上面的额sql语句,print_r(M('fields')->getLastSql());这样就能把原sql的语句打印出来,看结果就知道上面的到底是什么意思了。
第4个回答  2019-01-17
select * from fields where (model='' or model='customer') and is_validate = 1 and is_main = 1;

相似回答