/**
* 获取用户某个时间段购买某个商品的数量
*
* @param string $goodsId
* @param string $timeStart
* @param string $timeEnd
* @return integer
*/
public function getOrderGoodsCount($goodsId, $timeStart = null, $timeEnd = null)
{
$sql = 'SELECT sum(t0.count) FROM ' . OrderGoods::tableName() . ' AS t0 LEFT JOIN ' . Order::tableName() . ' AS t1 ON t0.order_id = t1.id WHERE t1.user_id=:user_id AND t0.goods_id=:goods_id';
$params = [':user_id' => $this->id, ':goods_id' => $goodsId];
if ($timeStart !== null) {
$sql .= ' AND t1.created_at >= :time_start';
$params[':time_start'] = $timeStart;
}
if ($timeEnd !== null) {
$sql .= ' AND t1.created_at < :time_end';
$params[':time_end'] = $timeEnd;
}
$count = Yii::$app->db->createCommand($sql, $params)->queryScalar();
return (int) $count;
}