web-dev-qa-db-ja.com

Yii findAllByAttributes with BETWEEN DATES and ORDER BY

指定された日付範囲で、作成された日付で並べ替えて属性で検索しようとしていますが、うまくいきません。

$user = array('user_country'=>1 ,'user_gender'='M');
    $rows = User::model()->findAllByAttributes($user,array("user_date_created BETWEEN '2012' AND '2013' " ,'order'=> 'user_date_created') );

前もって感謝します。

9
chulian

次のように CDbCriteria を使用する必要がありました:

$attribs = array('user_country'=>1 ,'user_gender'=>'M');
$criteria = new CDbCriteria(array('order'=>'user_date_created DESC','limit'=>10));
$criteria->addBetweenCondition('user_date_created', $date['date_start'], $date['date_end']);
$rows = user::model()->findAllByAttributes($attribs, $criteria);

それが将来誰かに役立つことを願っています

20
chulian

次の目的で使用できます。

$criteria = new CDbCriteria;
$criteria->condition = "date_start >= '$date_start' AND date_end <= '$date_end'";
$model = TemporadaAlta::model()->find($criteria);
4
Victor Azevedo