2011-06-29 7 views
3

悪質なYii Framework for PHPのモデルの単一インスタンスを使用して、テーブル内に複数のレコードを見つける方法を教えてください。悪名高いCActiveRecordを使用してYiiフレームワークで複数のレコードを一度に見つける?

私は日付の列を持っている:

[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 

そしてcomparringのためのすべてのこれらのレコードをつかむ、またはユーザーのことを伝えるためにこれらのレコードはすでにテーブルに存在しています。

これは、CactiveRecord、CDbCriteriaなどの組み込みクラスを使用して、Yii Frameworkとどのように適していますか?

答えて

7

あなたはYourModelという名前CActiveRecordサブクラスを持っており、データベース・テーブルを使用すると、どうなるdatesという名前の列を、持っていると仮定:findAllにパラメータを

$models = YourModel::model()->findAll(array(
    'condition' => 'dates > :minDate AND dates < :maxDate', 
    'params' => array(':minDate' => '2011-06-29', ':maxDate' => '2011-07-03'), 
)); 

CDbCriteriaオブジェクトにすることができます。上記の例では、配列キーと同じ名前のプロパティを設定します。

関連する問題