如何获取部分字段?
举个栗子:User表内,我只想知道createTime > 1491734306的id,而不需要其他字段。
顺便向老司机请教:我听说效率最高的方式是获取“我需要的字段”,而非整条。
目前所知道的所有Find方法,都只能得到整条数据。
是我了解的信息有误,还是Yii2没有对这方面做“效率考量”?
如果想获取某几个字段,用如下方式:
如楼上所言。
这些都是基础的东西,yii怎会没有考虑到。
基础文档啥的,还是要先看一看的。
http://www.yiichina.com/doc/guide/2.0/db-query-builder
asArray()->all()好像还是不太完美,因为涉及连接表的字段的话,就会以数组下标形式存在
比如主表是A,某些信息需要连接表B来查,那么代码类似这样:$retArr = A::find()->select(['A.name','A.age','B.school'])->joinWith('B')->filterWhere(['dddd'=>[$a,$b])->asArray()->all();
这样的数组$retArr信息除了’name’,’age’,’school’之外,还有一个’B’为下标的子数组,这个数组就是多余的