我一直在使用Yii一段时间,当我想从数据库中提取数据时,我通常只使用一个findByAttributes.
$model=Auction::model()->findAllByAttributes(array('status'=>'1'));
或者沿着这些方向的东西.
我的问题是,如何处理大于类型的情况?我试过了
$model=Auction::model()->findAllByAttributes(array('starttime'>=$date));
哪个日期被分配了当前的日期/时间设置,但这会导致错误.所以我的问题是我需要使用条件和参数吗?我应该在模型中使用这种类型的东西,还是使用Criteria或CActiveDataProvider的东西?
我会赞赏有人指出我正确的方向.我一直使用findAll(),但我知道他们是一个更好的方法来做到这一点.有关什么和何时使用属性,条件,参数等的一些一般信息也将是很好的.
我已经阅读了Yii文档,并搜索了大量的网站来解答这些问题,而我没有找到它.
使用params甚至与findByAttributes是一个好主意,但只有匹配.您可以使用findAll并添加一个条件语句,并且格式与您已经在做的工作非常相似:
$model=Auction::model()->findAll(array( 'condition'=>'status=:status AND starttime >= :date','params'=>array(':status'=>1,':date'=>$date),));
如果您正在进行非常复杂的查询或以编程方式构建查询,则可能需要使用findAllBySql或CDbConnection :: createCommand或Query Builder,这取决于对您的应用程序最有意义的内容.
我会(07年)再次阅读Yii部分,但没有广泛的例子,很清楚.那么你可以尝试Yii博客教程,Larry Ullman’s tutorials等.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。