/var/www/vhosts/nabawater/backend/models
Edit: /var/www/vhosts/nabawater/backend/models/TopOrderItemReportSearch.php (3226B)
'php:Y-m-d H:i:s'],
['to_date', 'compare', 'compareAttribute' => 'from_date', 'operator' => '>'],
];
}
/**
*
* @param type $params
* @return ActiveDataProvider
*/
public function search($params)
{
$query = Item::find()
->alias('I')
->select([
'I.*',
'orders_count' => 'count(OI.item_id)',
'IM.item_image_path',
'CTL.category_name',
'VL.vendor_name',
'CL.cuisine_name',
'O.order_date_time'
])
->innerJoin(['OI' => OrderItem::tableName()],'OI.item_id = I.item_id')
->innerJoin(['O' => Order::tableName()],'O.order_id = OI.order_id')
->orderBy(['item_price' => SORT_DESC])
->groupBy('I.cuisine_id');
Item::selectTranslation($query);
$query->leftJoin(['IM' => ItemImage::tableName()], 'IM.item_id = I.item_id')
->leftJoin(['CTL' => CategoryLang::tableName()], 'CTL.category_id = I.category_id')
->leftJoin(['VL' => VendorLang::tableName()], 'VL.vendor_id = I.vendor_id')
->leftJoin(['CL' => CuisineLang::tableName()], 'CL.cuisine_id = I.cuisine_id')
->where(['<>', 'I.item_status', Item::DELETE]);
if( AdminUser::isVendor() ) {
$query->andWhere( 'VL.vendor_id ='.yii::$app->user->getId() );
}
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => [
'PageSize' => Com::postPerPage(),
],
'sort' => [
'attributes' => [
'item_name',
'category_name',
'vendor_name',
'item_price',
'sort_no',
'cuisine_name'
],
'defaultOrder' => [
'category_name' => SORT_ASC,
'vendor_name' => SORT_ASC,
'item_price' => SORT_DESC,
'sort_no' => SORT_DESC,
'cuisine_name' => SORT_DESC
]
]
]);
$this->load($params);
if(!$this->validate()) {
return $dataProvider;
}
$query->andFilterWhere(['>=', 'order_date_time', $this->from_date])
->andFilterWhere(['<=', 'order_date_time', $this->to_date]);
return $dataProvider;
}
}