/**
  * Страница товара.
  *
  * @param $id
  * @return View
  */
 public function getShow($id)
 {
     // Получаем продукт из БД
     $data['product'] = ProductPrimer::whereEnabled(TRUE)->with('category')->find($id);
     if (!empty($data['product'])) {
         // Получаем группы категорий для фирмы "Сика" вместе с подкатегориями
         $data['group_categories'] = $this->getCategories();
         // Отображаем
         return view('marketing.companies.catalog.primer.show', $data);
     } else {
         abort(404);
     }
 }
 /**
  * Действие для поиска и отображения результатов.
  *
  * @return Response
  */
 public function getIndex(Request $request)
 {
     // Если не задан поиск
     $q = trim($request->get('q'));
     if (!$q or strlen($q) < 3) {
         return view('marketing.search.index');
     }
     // Начинаем поиск
     // по новостям
     if (in_array('news', $this->sources)) {
         $data['news'] = News::where('title', 'LIKE', "%{$q}%")->orWhere('full_text', 'LIKE', "%{$q}%")->orderBy('created_at', 'DESC')->get();
     }
     // По прудуктам Sika
     if (in_array('products_sika', $this->sources)) {
         $data['products_sika'] = ProductSika::where(function ($query) use($q) {
             $query->where('title', 'LIKE', "%{$q}%")->orWhere('description', 'LIKE', "%{$q}%");
         })->whereEnabled(TRUE)->orderBy('created_at', 'DESC')->with(['category' => function ($q) {
             $q->whereEnabled(TRUE);
         }])->get();
     }
     // По прудуктам Sfs
     if (in_array('products_sfs', $this->sources)) {
         $data['products_sfs'] = ProductSfs::where(function ($query) use($q) {
             $query->where('title', 'LIKE', "%{$q}%")->orWhere('description_small', 'LIKE', "%{$q}%")->orWhere('description_full', 'LIKE', "%{$q}%");
         })->whereEnabled(TRUE)->orderBy('created_at', 'DESC')->with(['category' => function ($q) {
             $q->whereEnabled(TRUE);
         }])->get();
     }
     // По прудуктам Primer
     if (in_array('products_primer', $this->sources)) {
         $data['products_primer'] = ProductPrimer::where(function ($query) use($q) {
             $query->where('title', 'LIKE', "%{$q}%")->orWhere('description_small', 'LIKE', "%{$q}%")->orWhere('description_full', 'LIKE', "%{$q}%");
         })->whereEnabled(TRUE)->orderBy('created_at', 'DESC')->with(['category' => function ($q) {
             $q->whereEnabled(TRUE);
         }])->get();
     }
     // Всего результатов
     $resCount = 0;
     foreach ($data as $value) {
         $resCount += count($value);
     }
     $data['res_count'] = $resCount;
     return view('marketing.search.index', $data);
 }
 /**
  * Поиск товара в БД по ид или переадресация на 404
  *
  * @param $id
  * @return \Illuminate\Support\Collection|null|static
  */
 private function findProduct($id)
 {
     // Ищем товар
     $product = ProductPrimer::find($id);
     if (empty($product)) {
         abort(404);
     }
     return $product;
 }