]> _ Git - pmi.git/commitdiff
Fix exceptions on product detail pages. WIP #2768 @0.25
authorStephen Cameron <stephen@cubedesigners.com>
Wed, 17 Jul 2019 08:54:06 +0000 (10:54 +0200)
committerStephen Cameron <stephen@cubedesigners.com>
Wed, 17 Jul 2019 08:54:06 +0000 (10:54 +0200)
app/Http/Controllers/ProductController.php
app/Models/Product.php

index 9dab2d9339565df05b0d77f170edeadfce1103ba..58590532536b4808fd67b5b9b870b09e0efc8dc2 100644 (file)
@@ -39,8 +39,10 @@ class ProductController extends CubistFrontController
         $this->data['title'] = $product->name;
         $this->data['product'] = $product->getPageData();
         $this->data['related'] = [];
-        foreach (Product::whereIn('id', $product->related)->limit(4)->get() as $rel) {
-            $this->data['related'][] = $rel->getPageData();
+        if (is_array($product->related) && count($product->related) > 0) {
+            foreach (Product::whereIn('id', $product->related)->limit(4)->get() as $rel) {
+                $this->data['related'][] = $rel->getPageData();
+            }
         }
         return view('pages.product-detail', $this->data);
     }
index 14ae328f37456201189986df6054a553d0355be5..0dbf9380ce9896a151f561581b004ba0538393a5 100644 (file)
@@ -261,6 +261,11 @@ class Product extends CubistMagicModel
             $specEntity = $allspecs[$spec];
 
             $val = Json::decodeRecursive($this->{'s_' . Str::snake($specEntity->name)}, Json::TYPE_ARRAY);
+
+            if (null === $val) {
+                continue;
+            }
+
             $specValue = ' - ';
             if ($specEntity->type == 'numeric' || $specEntity->type == 'numeric_list') {
                 $specValue = $specEntity->prefix;