在臭名昭著的Yii Framework for PHP中,如何使用模型的单个实例在表中找到多个记录?
我有一个日期栏:
[dates]
2011-06-29
2011-06-30
2011-07-01
2011-07-02
2011-07-03
假设我有一个搜索条件,它是一个日期范围:
start search from: 2011-06-29
end search at: 2011-07-03
并抓取所有这些记录进行比较,或者告诉用户这些记录已经存在于表中。
使用Yii Framework,再加上它的CActiveRecord、CDbWriter等内置类,这是如何实现的?
假设您有一个名为YourModel
的CActiveRecord
子类,并且数据库表有一列名为dates
,那么您将执行以下操作:
$models = YourModel::model()->findAll(array(
'condition' => 'dates > :minDate AND dates < :maxDate',
'params' => array(':minDate' => '2011-06-29', ':maxDate' => '2011-07-03'),
));
findAll
的参数也可以是CDbCriteria
对象;您可以设置与上面示例中的数组键具有相同名称的属性。