Example #1
1
 public function getCart()
 {
     $cart_products = Product::whereIn('id', Session::get("pro_ids"))->get();
     $session_price = Session::get("price");
     $plan_duration = Session::get("duration");
     return view('cart', compact('cart_products', 'session_price', 'plan_duration'));
 }
Example #2
1
 public function treeProducts()
 {
     // Get ids of descendants
     $categories = $this->leaves()->lists('id');
     // Include the id of category itself
     // $categories[] = $categories->getKey();
     // Get Products
     return Product::whereIn('category_id', $categories)->get();
 }
 public function getProductsStatus($date)
 {
     $res = new \StdClass();
     $res->lists = [];
     $listIds = [];
     foreach (DB::table('daylist')->join('lists', 'daylist.list', '=', 'lists.id')->where('day', '=', $date)->get() as $l) {
         $list = new \StdClass();
         $list->id = $l->id;
         $listIds[] = $l->id;
         $list->done_products = round(DB::table('products')->select(DB::raw('sum(unitprice*quantity) as product_sum'))->whereNull('deleted_at')->where('list', '=', $l->id)->where('status', 'done')->first()->product_sum);
         $list->all_products = round(DB::table('products')->select(DB::raw('sum(unitprice*quantity) as product_sum'))->whereNull('deleted_at')->where('list', '=', $l->id)->first()->product_sum);
         $list->budget = round($l->budget);
         $res->lists[] = $list;
     }
     $products = Product::whereIn('list', $listIds)->orderBy('status')->orderBy('name')->get();
     $res->statuses = [];
     $res->product_info = [];
     foreach ($products as $product) {
         $res->statuses[$product->status][] = $product->id;
         $p = new \StdClass();
         $p->id = $product->id;
         $p->name = $product->name;
         $p->unitprice = $product->unitprice;
         $p->quantity = $product->quantity;
         $p->moms = $product->moms;
         $res->product_info[] = $p;
     }
     $res->deleted_products = [];
     foreach (DB::table('products')->whereIn('list', $listIds)->whereNotNull('deleted_at')->get() as $p) {
         $res->deleted_products[] = $p->id;
     }
     return response()->json($res);
 }
Example #4
0
 public function index()
 {
     $employees = Employee::select('line_id')->where('manager_id', \Auth::user()->id)->get();
     $products = Product::whereIn('line_id', $employees)->get();
     $employees = Employee::select('id')->where('manager_id', \Auth::user()->id)->get();
     $customers = Customer::whereIn('mr_id', $employees)->get();
     $employees = Employee::where('manager_id', \Auth::user()->id)->get();
     $dataView = ['productsCount' => count($products), 'plansCount' => AMPlan::where('month', \Config::get('app.current_month'))->count(), 'reportsCount' => AMReport::where('month', \Config::get('app.current_month'))->count(), 'customersCount' => count($customers), 'employeesCount' => count($employees)];
     return view('am.index', $dataView);
 }
 public function index(Request $request)
 {
     $q = $request->get('q');
     if ($request->has('cat')) {
         $selected_category = Category::find($request->get('cat'));
         // can't use this to get selected category > child's > product
         // $products = $selected_category->products()->where('name', 'LIKE', '%'.$q.'%')->paginate(4);
         // we use this to get product from current category and its child
         $products = Product::whereIn('id', $selected_category->related_products_id)->where('name', 'LIKE', '%' . $q . '%')->paginate(4);
     } else {
         $products = Product::where('name', 'LIKE', '%' . $q . '%')->paginate(4);
     }
     return view('catalogs.index', compact('products', 'q', 'cat', 'selected_category'));
 }
Example #6
0
 public function category($catename)
 {
     //$categories = Category::with('children')->where('parent_id', '=', 0)->orderBy('did')->get();
     $main_category = Category::with('parent', 'children', 'children.products')->where('category_name', $catename)->firstOrFail();
     if (count($main_category->parent) > 0) {
         $parent_category = Category::with('children')->findOrFail($main_category->parent->id);
     } else {
         $parent_category = null;
     }
     //dd($parent_category);
     $cate_products = Product::where('category_id', $main_category->id)->with(['images', 'prices', 'prices.unit', 'mrps'])->has('images')->has('prices')->orderBy('updated_at', 'desc')->get();
     $sub_categories = Category::with('children')->where('parent_id', $main_category->id)->lists('id');
     $sub_products = Product::whereIn('category_id', $sub_categories)->with('images', 'prices', 'prices.unit', 'mrps', 'mrps.unit')->has('images')->has('prices')->orderBy('updated_at', 'desc')->get();
     //dd($cate_products);
     $page_title = $main_category->category_name . ' - Best ' . $main_category->category_name . ' in Trichy';
     //dd($page_title);
     return view('site/category', compact('categories', 'main_category', 'cate_products', 'parent_category', 'sub_products', 'page_title'));
 }
Example #7
0
 public function saveScore(Request $request)
 {
     $stores_ids = $this->user->stores->pluck('id');
     $this->_brands = Brand::join('store_brand as s', 's.bid', '=', 'brands.id')->whereIn('s.sid', $stores_ids)->get(['brands.*']);
     $fids = Product::whereIn('bid', $this->_brands->pluck('id'))->pluck('fid');
     $key = 'bonus_' . $this->user->getKey() . '_game';
     $times = intval(Cache::get($key, 0));
     $save_code_key = 'save_put_code_' . $this->user->getKey();
     $ver_code = $request->get('ver_code');
     if (session($save_code_key) == $ver_code && !empty($fids) && $times > 0) {
         $fids = array_unique((array) $fids);
         //把关注店铺,相关的厂商都加红包
         $score = $request->get('score');
         //分数
         if ($score < 1) {
             $data = ['err_msg' => '红包金额不能为空.'];
             return $this->failure(NULL, false, $data, true);
         }
         $type_id = $request->get('type_id');
         //活动id
         foreach ($fids as $fid) {
             $activity_bouns = new ActivityBonus();
             $activity_bouns->uid = $this->user->getKey();
             $activity_bouns->fid = $fid;
             $activity_bouns->activity_id = with(Activity::where('fid', $fid)->where('type_id', $type_id)->first())->id;
             $activity_bouns->bonus = intval($score) > 98 ? 98 : intval($score);
             $activity_bouns->status = 0;
             $activity_bouns->save();
         }
         Cache::decrement($key);
         session([$save_code_key => '']);
         //红包的个数
         $bonus_cnt = ActivityBonus::where('uid', $this->user->getKey())->where('status', 0)->count();
         $data = ['times' => --$times, 'bonus_cnt' => $bonus_cnt];
         return $this->success(NULL, false, $data);
     } else {
         $data = ['err_msg' => '暂时没添加相关活动。'];
         return $this->failure(NULL, false, $data, true);
     }
 }
Example #8
0
 public function recommend($curr_page, $pIdArray = array())
 {
     if (count($pIdArray)) {
         $products = Product::whereIn('id', $pIdArray)->get();
     } else {
         $products = Product::all();
     }
     $user = Auth::user();
     foreach ($products as $key => $eachproduct) {
         $eachproduct->img = $eachproduct->imgloc('primary_packaging');
         foreach ($eachproduct->preferences as $eachpreference) {
             if ($eachpreference->user_id == $user->id && $eachpreference->flag == 0) {
                 $pid = $eachproduct->id;
                 unset($products[$key]);
                 continue;
             }
         }
     }
     foreach ($products as $key => $eachproduct) {
         $score = $user->product_distance($eachproduct);
         $eachproduct->score = $score;
         unset($products[$key]['preferences']);
     }
     $sortedProducts = $products->toArray();
     usort($sortedProducts, function ($a, $b) {
         return $b['score'] - $a['score'];
     });
     $next_count = ($curr_page - 1) * 9;
     $paginate['total_pages'] = floor(count($sortedProducts) / 9) + 1;
     $paginate['prev_page'] = $curr_page - 1;
     $paginate['next_page'] = $curr_page + 1;
     if ($paginate['next_page'] > $paginate['total_pages']) {
         $paginate['next_page'] = 0;
     }
     $sortedProducts = array_splice($sortedProducts, $next_count, 9);
     return [$sortedProducts, $paginate];
 }
Example #9
0
 /**
  * Shows list page.
  *
  * @param $id, the id of the list
  * @return Response, a view for showing a specific list page.
  */
 public function getList($date)
 {
     $res = DB::table('daylist')->where('day', '=', $date)->get();
     $lists = $listIDs = [];
     foreach ($res as $r) {
         $list = ShoppingList::find($r->list);
         $listIDs[] = $r->list;
         $lists[] = $list;
         $list->products()->orderBy('status')->orderBy('name')->get();
     }
     $products = Product::whereIn('list', $listIDs)->orderBy('status')->orderBy('name')->get();
     return view('shop.list')->with('date', $date)->with('lists', $lists)->with('products', $products);
 }
 /**
  * Get total amount of product from current category and its child
  * @return int
  */
 public function getTotalProductsAttribute()
 {
     return Product::whereIn('id', $this->related_products_id)->count();
 }
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index(Request $request)
 {
     $arrProduct = $request->session()->get('Product');
     $arrProductComplete = Product::whereIn('id', $arrProduct)->get();
     return view('orders.index', ['products' => $arrProductComplete]);
 }
Example #12
0
 public function news_feed_load_more(Request $request)
 {
     $limit = 40;
     $page = $request->page;
     $class_name = $request->class_name;
     $category_id = $request->category_id;
     if ($class_name != null) {
         $class = DB::select("select * from classes where replace(name,' ','') like ?", [$class_name])[0];
         $usersIdOfThisClass = StudyClass::find($class->id)->registers()->select(DB::raw('user_id'))->get()->pluck('user_id');
         $products = Product::whereIn('author_id', $usersIdOfThisClass)->orderBy('created_at', 'desc')->skip($page * $limit)->take($limit)->get();
     } else {
         if ($category_id != null) {
             $category = CategoryProduct::find($category_id);
             $products = $category->products()->orderBy('created_at', 'desc')->skip($page * $limit)->take($limit)->get();
         } else {
             $type = $request->type;
             if ($type == 3) {
                 $products = Product::orderBy('created_at', 'desc')->where('type', '=', 2)->skip($page * $limit)->take($limit)->get();
             } else {
                 if ($type == 2) {
                     $products = Product::orderBy('rating', 'desc')->skip($page * $limit)->take($limit)->get();
                 } else {
                     //            $class = DB::select("select * from classes where replace(name,' ','') like ?", [$class_name])[0];
                     //            $usersIdOfThisClass = StudyClass::find($class->id)->registers()->select(DB::raw('user_id'))->get()->pluck('user_id');
                     //            $products = Product::whereIn('author_id', $usersIdOfThisClass)->orderBy('created_at', 'desc')->take($limit)->get();
                     $products = Product::orderBy('created_at', 'desc')->skip($page * $limit)->take($limit)->get();
                 }
             }
         }
     }
     $data['user'] = $this->user;
     $data['products'] = $products;
     return view('ajax.newsfeed_load_more', $data);
 }
Example #13
0
 /**
  * @return mixed
  */
 public function getItemsChildeAndSelf()
 {
     return Product::whereIn('catalog_id', $this->getChildeAndSelf())->active()->sort()->paginate(15);
 }
Example #14
0
 public static function getProductByCatIds($catId)
 {
     $catIds = static::getChildCatIds($catId);
     $catIds = array_merge($catIds, (array) (int) $catId);
     $categories = static::whereIn('id', $catIds)->get();
     $arrProduct = [];
     foreach ($categories as $category) {
         foreach ($category->products as $product) {
             $arrProduct[] = $product->id;
         }
     }
     return $products = Product::whereIn('id', $arrProduct)->paginate(PAGINATE_NUM);
 }
Example #15
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id, $seo)
 {
     App\Product::where('id', $id)->increment('views');
     $post = App\Blog::where('id', $id)->get()->first();
     return \View::make('post', ['title' => 'Blog', 'favorites' => App\Product::orderBy('views', 'desc')->limit(6)->get(), 'post' => $post, 'relevant' => App\Product::whereIn('section_id', explode(';', $post->sections))->orderBy('views', 'desc')->limit(6)->get()]);
 }
 public function area($slug)
 {
     $filter = "Average Credit Period";
     $nature = $slug;
     $ids = [];
     $users = Business::where('service_areas', 'LIKE', '%' . $slug . '%')->get();
     foreach ($users as $user) {
         $ids[$user->user_id] = $user->user_id;
     }
     $products = Product::whereIn('user_id', $ids)->paginate(12);
     return view('search.search', compact('products', 'nature', 'filter'));
     /*if($slug==='local_only'){
           $products = Product::paginate(12);
           return view('search.search', compact('products', 'nature','filter'));
       }
       if($slug==='country_wide'){
           $users = Business::where('service_areas', '=', $slug)->get();
           foreach ($users as $user) {
               $ids[$user->user_id] = $user->user_id;
           }
           $products = Product::whereIn('user_id', $ids)->paginate(12);
           return view('search.search', compact('products', 'nature','filter'));
       }
       if($slug==='abroad'){
           $users = Business::where('service_areas', '=', $slug)->get();
           foreach ($users as $user) {
               $ids[$user->user_id] = $user->user_id;
           }
           $products = Product::whereIn('user_id', $ids)->paginate(12);
           return view('search.search', compact('products', 'nature','filter'));
       }*/
 }
Example #17
0
 private function dopublish(Request $request, $value)
 {
     $product = Product::whereIn('id', $request->ids)->update(array('is_published' => $value));
     $response = ['model_type' => 'Product', 'ids' => $request->ids, 'action_type' => $value == 1 ? "Publish" : "Unpublish"];
     return json_encode($response);
 }
Example #18
0
 public function info($ids)
 {
     $ids_array = explode('-', $ids);
     $products = Product::whereIn('id', $ids_array)->get();
     return Response::json($products, $this->code);
 }
Example #19
-1
 public function listAll()
 {
     $employees = Employee::select('line_id')->where('manager_id', \Auth::user()->id)->get();
     $products = Product::whereIn('line_id', $employees)->get();
     $dataView = ['products' => $products];
     return view('am.product.list', $dataView);
 }