where('is_deleted',0)->count(); if ($datas>0){ $datas=Goodtest::whereIn('is_show',[2,3])->where('is_deleted',0)->orderBy('sort')->select('storage','id')->get(); foreach ($datas as $k=>$v){ $n=$v->storage; Cache::remember('tnsj_good_num'.$v->id,Carbon::now()->addDays(1),function ()use ($n){ return $n; }); } $data=Goodtest::whereIn('is_show',[2,3])->where('is_deleted',0)->groupBy('main_attr','name')->orderBy('sort')->select('main_attr','attr_id','name')->get(); $i=0; $re=[]; foreach ($data as $k=>$v){ $sec_attr=Goodtest::whereIn('is_show',[2,3]) ->where('is_deleted',0) ->where('main_attr',$v->main_attr) ->where('name',$v->name) ->groupBy('sec_attr') ->orderBy('sort') ->select('sec_attr','name','goods_num','money','unit','main_img','banner_img','id','attr_id','show_time','off_time') ->get(); foreach ($sec_attr as $ke=>$va){ $size=Goodtest::whereIn('is_show',[2,3])->where('is_deleted',0)->where('name',$v->name)->where('main_attr',$v->main_attr)->where('sec_attr',$va->sec_attr)->select('storage','size','id')->get()->toArray(); // $now=Carbon::now()->timestamp; // if ($va->show_time==null){ // $re[$i]['limit_time']=false; // }else{ // if (strtotime($va->show_time)<$now&&strtotime($va->off_time)>$now){ // $re[$i]['limit_time']=true; // $re[$i]['show_time']=$va->show_time->toDateTimeString(); // $re[$i]['off_time']=$va->off_time->toDateTimeString(); // } // } $re[$i]['name']=$va->name; $re[$i]['attr_id']=$va->attr_id; $re[$i]['size_id']=array_column($size,'id'); $re[$i]['size']=array_column($size,'size'); $re[$i]['storage']=array_column($size,'storage'); $re[$i]['goods_num']=$va->goods_num; $re[$i]['money']=$va->money; $re[$i]['unit']=$va->unit; $re[$i]['main_img']=$va->main_img; $re[$i]['banner_img']=json_decode($va->banner_img); // $re[$i]['banner_img']=[$va->main_img]; $re[$i]['sec_attr']=$va->sec_attr; $i++; } } }else{ return $this->success_list([]); } // dd($re); return $this->success_list($re); } public function again_order(){ $order_detail=OrderDetail::where('order_id',7)->groupBy('goods_name')->get(); foreach ($order_detail as $k=>$v){ $data=OrderDetail::where('goods_name',$v->goods_name)->where('order_id',7)->with(['get_good'])->get(); $size=[]; $size_id=[]; $num=[]; dump($data); foreach ($data as $ke=>$va){ $size[$ke]=$va->goods_size; $size_id[$ke]=$va->goods_id; $num[$ke]=$va->num; } $re[$k]['size']=$size; $re[$k]['size_id']=$size_id; $re[$k]['num']=$num; $re[$k]['name']=$v->goods_name; $re[$k]['main_img']=$data[0]->get_good->main_img; } dd($re); } public function GetGoodNum(){ $datas=Goodtest::where('is_deleted',0)->orderBy('sort')->select('storage','all_storage','id')->get(); foreach ($datas as $k=>$v){ $n=$v->all_storage; // Cache::forever('tnsj_good_num'.$v->id,$n); dump(Cache::get('tnsj_good_num'.$v->id)); } } }