yii как выбрать диапазон дат во всех запросах

#yii

#yii

Вопрос:

Вот мой запрос

 $query= Yii::app()->db->createCommand()
                    ->select('*,SUM(amount) AS TotalItemsOrdered')
                    ->from('shoppinglist')
                    ->where('user_type="Admin" ')
                    ->group('cat_id,ing_id,measure_id')
                    ->queryAll();
  

у меня есть дата начала с сегодняшнего дня, и я добавляю 6 дней к текущей дате, чтобы получить последнюю дату, т. Е. полную неделю, предположим
$startdate = «7-3-14»; //месяц-день-год
$enddate = «7-7-14»;
как я использую этот код Date BETWEEN DATE('$DateFrom_order') AND DATE('$DateTo_order')
или я использую в инструкции mysql, но как использовать or ember в приведенном выше запросе YII
Редактировать
ВОТ МОЯ МОДЕЛЬ

 <?php
  

класс Shoppinglist расширяет CActiveRecord
{

 public static function model($className=__CLASS__)
{
    return parent::model($className);
}

public function tableName()
{
    return 'shoppinglist';
}

/**
 * @return array validation rules for model attributes.
 */
public function rules()
{
    // NOTE: you should only define rules for those attributes that
    // will receive user inputs.
    return array(
        array('ing_id, measure_id, amount, user_id, cat_id, date_added, user_type', 'required'),
        array('ing_id, measure_id, amount, user_id, cat_id', 'numerical', 'integerOnly'=>true),
        array('user_type', 'length', 'max'=>5),
        // The following rule is used by search().
        // Please remove those attributes that should not be searched.
        array('id, ing_id, measure_id, amount, user_id, cat_id, date_added, user_type', 'safe', 'on'=>'search'),
    );
}

/**
 * @return array relational rules.
 */
public function relations()
{
    // NOTE: you may need to adjust the relation name and the related
    // class name for the relations automatically generated below.
    return array(
    );
}

/**
 * @return array customized attribute labels (name=>label)
 */
public function attributeLabels()
{
    return array(
        'id' => 'ID',
        'ing_id' => 'Ing',
        'measure_id' => 'Measure',
        'amount' => 'Amount',
        'user_id' => 'User',
        'cat_id' => 'Cat',
        'date_added' => 'Date Added',
        'user_type' => 'User Type',
    );
}

/**
 * Retrieves a list of models based on the current search/filter conditions.
 * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
 */
public function search()
{
    // Warning: Please modify the following code to remove attributes that
    // should not be searched.

    $criteria=new CDbCriteria;

    $criteria->compare('id',$this->id);
    $criteria->compare('ing_id',$this->ing_id);
    $criteria->compare('measure_id',$this->measure_id);
    $criteria->compare('amount',$this->amount);
    $criteria->compare('user_id',$this->user_id);
    $criteria->compare('cat_id',$this->cat_id);
    $criteria->compare('date_added',$this->date_added,true);
    $criteria->compare('user_type',$this->user_type,true);

    return new CActiveDataProvider($this, array(
        'criteria'=>$criteria,
    ));
}
  

}

Комментарии:

1. пожалуйста, опубликуйте свою модель списка покупок, сгенерированную в Gii. Ваше решение не круто, мы должны использовать модель для сбора ваших данных

Ответ №1:

Если поле Date в базе данных имеет значение DATE (тип), то:

 $query= Yii::app()->db->createCommand()
            ->select('*,SUM(amount) AS TotalItemsOrdered')
            ->from('shoppinglist')
            ->where("user_type='Admin' AND Date BETWEEN STR_TO_DATE( '$startdate', '%d-%m-%y' ) AND STR_TO_DATE( '$enddate', '%d-%m-%y' )")
            ->group('cat_id,ing_id,measure_id')
            ->queryAll();
  

Комментарии:

1. спасибо @psk $recipeIngs = Yii:: app()-> db-> createCommand() -> select(‘*,SUM (сумма) КАК TotalItemsOrdered’) -> from(‘список покупок’) ->where(«user_type=’Admin’ И (date_added МЕЖДУ ‘$currentDate’ И ‘$ending_date’)») -> group(‘cat_id, ing_id, measure_id’) ->queryAll();

2. Почему вы, ребята, используете yii so? … для меня похоже на SQL 😉 Опубликуйте свою модель, я сделаю это в 3 строки. Приветствия.

3. Я обновил свой вопрос с помощью модели, пожалуйста, дайте мне знать, как вы это делаете, в 3 строках 🙂