谁一开始就是大神?

如何获取部分字段?(使用find或fandAll/One)[2.0]

如何获取部分字段?
举个栗子: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’为下标的子数组,这个数组就是多余的

赞(0) 打赏
未经允许不得转载:菜鸟之家 » 如何获取部分字段?(使用find或fandAll/One)[2.0]

评论 抢沙发

登录

找回密码

注册