@php $selectedColor = null; $colors = $accessory->colors->sortBy('color.order')->values(); $hasMatchedColor/*from request*/ = $colors->contains('color_id', request()->get('color')); foreach($colors as $color) { if($hasMatchedColor && request()->get('color') == $color['color_id']) { $selectedColor = $color; break; } elseif(!$hasMatchedColor && \IHouse::isSelectedColor($color['code'], $colors)) { $selectedColor = $color; break; } } if(($q = request()->get('q')) && \DB::table('accessory_colors')->where('code', $q)->exists()) { foreach($colors as $color) { if($color['code'] == $q) { $selectedColor = $color; break; } } } $routeParamsArray = [$accessory->id,'code'=>$accessory->code]; if($selectedColor) { $routeParamsArray['product'] = $selectedColor['code']; } $defaultImage = ($selectedColor && ($selectedColor['image_listing'] || $selectedColor['image_default'])) ? url('https://cdn.ihouse.ps/' . ($selectedColor['image_default'] ?: $selectedColor['image_listing'])) : $accessory->image; $defaultQuantity = $selectedColor ? $selectedColor['quantity'] : $accessory->quantity; $defaultStockStatus = $selectedColor ? $selectedColor['stock_status'] : $accessory->stock_status; @endphp