alias('a'); $model = $model->join('StoreProduct s', 's.id=a.product_id'); $model = $model->field('a.*,s.price as product_price,s.ficti'); $model = $model->order('a.sort desc,a.id desc'); $model = $model->where('a.is_show', 1); if($aid) $model = $model->where('a.aid', $aid); $model = $model->where('a.is_del', 0); if ($page) $model = $model->page($page, $limit); return $model->select()->each(function ($item) { $item['image'] = set_file_url($item['image']); $item['activity']=StoreActivity::where("id={$item['aid']}")->find(); }); } /** * 获取一条活动商品数据 * @param $id * @return mixed */ public static function getActivityOne($id) { $model = new self(); $model = $model->alias('a'); $model = $model->join('StoreProduct s', 's.id=a.product_id'); // $model = $model->field('a.*,s.price as product_price,SUM(s.sales+s.ficti) as total'); $model = $model->field('a.*,s.price as product_price,s.ficti'); $model = $model->where('a.is_show', 1); $model = $model->where('a.is_del', 0); $model = $model->where('a.id', $id); // $model = $model->where('a.start_time','<',time()); // $model = $model->where('a.stop_time','>',time()-86400); return $model->find(); } /** * 修改销量和库存 * @param $num * @param $CombinationId * @return bool */ public static function decCombinationStock($num, $CombinationId, $unique) { $product_id = self::where('id',$CombinationId)->value('product_id'); if ($unique) { $res = false !== StoreProductAttrValue::decProductAttrStock($CombinationId, $unique, $num,4); $res = $res && self::where('id', $CombinationId)->dec('stock', $num)->inc('sales', $num)->update(); $sku = StoreProductAttrValue::where('product_id',$CombinationId)->where('unique',$unique)->where('type',4)->value('suk'); $res = $res && StoreProductAttrValue::where('product_id',$product_id)->where('suk',$sku)->where('type',0)->dec('stock',$num)->inc('sales',$num)->update(); } else { $res = false !== self::where('id', $CombinationId)->dec('stock', $num)->inc('sales', $num)->update(); $res = $res && StoreProduct::where('id',$product_id)->dec('stock', $num)->inc('sales', $num)->update(); } return $res; } }