/
home
/
old_henza
/
server
/
app
/
Http
/
Controllers
/
Site
/
File Upload :
llllll
Current File: /home/old_henza/server/app/Http/Controllers/Site/CollectionController.php
<?php namespace App\Http\Controllers\Site; use App\Http\Controllers\Controller; use App\Models\Category; use App\Models\Collect; use App\Models\Product; use App\Models\ProductVariant; use App\Models\WebServiceGold; use Illuminate\Http\Request; class CollectionController extends Controller { public function getBody($collection_id){ $body = Category::findOrFail($collection_id)->body; return response()->json($body); } public function products(Request $request) { $goldPrice = WebServiceGold::getPriceGold18Ayar(); ProductVariant::$goldPrice = $goldPrice; $products = Product::site()->with(['collect.collection', 'variants.promotion', 'brand']) ->orderBy('id', 'desc'); if ($request->cats) { $children = Category::where('parent_id_id',$request->cats)->select('id')->get()->pluck('id')->toArray(); $products->whereHas('collect', function ($q) use ($request,$children) { if (isset($children) && count($children)>0){ return $q->whereIn('collection_id_id', $children); } return $q->where('collection_id_id', $request->cats); }); } $products->whereRaw('lower(`title`) like ?', ['%' . $request->search_text . '%']); if ($request->brands) { $products->where('brand_id', $request->brands); } if ($request->colors != null) { $products->whereHas('variants', function ($q) use ($request) { return $q->where('color', '=', 0); }); } if ($request->weight) { $products->whereHas('variants', function ($q) use ($request) { return $q->whereBetween('grams', $request->weight); }); } if ($request->price_range) { $gram = array_map(function ($item) use ($goldPrice) { return $item / $goldPrice; }, $request->price_range); $products->whereHas('variants', function ($q) use ($gram) { return $q->whereBetween('grams', $gram); }); } if ($request->tags && is_array($request->tags) && sizeof($request->tags) > 0) { $products->whereHas('tags', function ($q) use ($request) { return $q->whereIn('const_id', $request->tags); }); } $export = []; $export['page'] = $request->page ?? 1; $export['limit'] = $request->limit ?? 12; $export['count'] = $products->count(); if ($export['count'] < $export['limit'] * ($export['page'] - 1)) { $export['page'] = 1; } $export['rows'] = $products->limit($export['limit'])->offset($export['limit'] * ($export['page'] - 1))->get(); return response()->json($export); } }
Copyright ©2k19 -
Hexid
|
Tex7ure