关于YII查询时设置select的问题,感觉不太对劲 [ 未指定版本 ]
是这样,我对一个查询设置了select,只显示2个字段,事实上这张表里有10个字段,因为我不需要查询别的字段也不需要显示,所以我设置select的时候就设置了两个。
查询完成,没有问题,没有报错,但是我将数据打印出来看,发现一个问题,设置了select的2个字段正常显示,但是其余8个不需要显示的字段也同样显示出来了,只是显示的为null而已,我觉得这可能并不是我想要的效果。
举个实际的例子,一个APP请求我们使用YII制作的服务端,我们将数据反馈给他,以json的形式,但是APP收到后发现,某些字段为null,这个时候它就无法分辨,这个null代表的是人为赋值为null还是这个值不在查询范围内造成的为null。
所以有这个疑惑,原因也大致能猜到,因为数据用ORM映射到模型的,所以只要表里有这个字段,那么模型会自动进行映射,找不到的数据列肯定就设置为null了,然后查询结束我们得到一个实例,导致里面有一些字段为null。
我不知道我分析的对不对,但是很明显这个问题让我有些苦恼的。希望看明白的人能够给我回复,谢谢。
lxepoo 补充于 2014-09-03 14:45
嗯,谢谢,我后来看了下API,发现用DAO方法查出来的是纯数组,没这个问题。
共 3 个回答
lxepoo 江苏南京
注册时间:2014-09-02
最后登录:2020-10-23
在线时长:33小时42分
最后登录:2020-10-23
在线时长:33小时42分
- 粉丝27
- 金钱1487
- 威望125
- 积分3067