|
@@ -30,27 +30,39 @@ class ProductController extends Controller
|
|
|
|
|
|
public function category($slug)
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
|
|
|
- $category = DistProductCategory::where(function ($query) use ($slug) {
|
|
|
- $query->where('slug', $slug)
|
|
|
- ->orWhere('id', $slug);
|
|
|
- })
|
|
|
- ->where('dist_id', getDistId())
|
|
|
- ->firstOrFail();
|
|
|
+ $slugs = [];
|
|
|
+ if (strpos($slug, ',') !== false) {
|
|
|
+
|
|
|
+ $slugs = explode(',', $slug);
|
|
|
+ } else {
|
|
|
+
|
|
|
+ $slugs = [$slug];
|
|
|
+ }
|
|
|
|
|
|
- if (!$category) {
|
|
|
+ $categoryIds = [];
|
|
|
+ foreach ($slugs as $slug) {
|
|
|
+ $category = DistProductCategory::where(function ($query) use ($slug) {
|
|
|
+ $query->where('slug', $slug)
|
|
|
+ ->orWhere('id', $slug);
|
|
|
+ })
|
|
|
+ ->where('dist_id', getDistId())
|
|
|
+ ->firstOrFail();
|
|
|
+ $categoryIds[] = $category->id;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (empty($categoryIds)) {
|
|
|
abort('404');
|
|
|
}
|
|
|
- $categoryIds = [$category->id];
|
|
|
- if ($category) {
|
|
|
+
|
|
|
+ if ($categoryIds) {
|
|
|
|
|
|
- $subCategories = DistProductCategory::where('parent_id', $category->id)->get();
|
|
|
- foreach ($subCategories as $subCategory) {
|
|
|
- $categoryIds[] = $subCategory->id;
|
|
|
+ foreach ($categoryIds as $id) {
|
|
|
+ $subCategories = DistProductCategory::where('parent_id', $id)->get();
|
|
|
+ foreach ($subCategories as $subCategory) {
|
|
|
+ $categoryIds[] = $subCategory->id;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|