每个人都知道

modelname::模型(发现)->() / /找到的是一个对象

modelname::模型(所有)->() / /找到一个集合对象数组

如何找到我所需要的字段的数据,而不是所有字段中的数据

我以前做过。


标准=新cdbcriteria美元;
$标准->选择= 'username,ID,电子邮件;
$标准->单ID DESC;
为用户modelname::模型()-> FindAll(合标准);



后台无意中看到了其他人要写的东西,发现他们是多么无知。


为用户modelname::模型()->所有(array()
'选择' = >阵列('username,'id','email'),
秩序= > ID DESC,
));



测试之后,发现它可以使用,所以查找也可以这样做。


用户名= modelname::模型()->找到(array()
'选择' = >阵列('username,'id','email'),
秩序= > ID DESC,
条件= > ID = '。$id,
));



当然,这样做是不安全的,也可以将其更改为以下方法


$用户= $ >用户>查找(数组)
'选择' = >阵列('id','username,'email'),
秩序= > ID DESC,
条件= >国家=和ID =:状态:ID,
params= >阵列(:国家=>1,:ID = > 2),
));



以同样的方式,它可以与所有相同的测试。

通过这种方式,它是获取所需的数据非常方便,当然,分页时是必需的,它需要在新的一cdbcriteria。

例如,我想消除视迅表the'v_id,标题,'big_class ','sub_class ','upload_time ','comment_num等领域,以及环境状态= 1,lastmodifytime相反,只有3可以被删除,这样操作:


标准=新cdbcriteria(美元);
$标准->选择=阵列('v_id,标题,'big_class ','sub_class ','upload_time ','comment_num);
$标准->条件= 'status = 1;
$标准-> order'lastmodifytime = desc;
$标准>限制= 3;
$标准=阵列(->参数:状态= > $变量);
结果:美元=视迅:模型()-> FindAll(合标准);


我注释的行是可变的,它可以用占位符表示。例如,如果需要根据变量分配状态,则可以在注释行上分配,然后在条件条件下编写。


$标准->条件= 'status =地位;



你可以,

因此,当结果变量为时,得到的结果是需要遍历的对象列表。


foreach($结果达OB){
print_r($ OB ->属性);
}


例如,您希望只显示每个字段以退出




$ OB ->属性{标题};


凡此种种,不一而足。

作为一个结果,这cpagination类可以用来支持与cdbcriteria类和分页插件在前台分页:


$count =视迅::模型()->计数(合标准)

页=新cpagination美元(美元计算);
$页-> PageSize = 30; / /每个页码
页面-> applylimit美元(美元标准);





结果:美元=视迅:模型()-> FindAll(合标准);