Как достать наименование таблицы из массива?


Имеется массив, где объединены 2 таблицы sql. Есть ли возможность достать значение поля "table"?

введите сюда описание изображения

На странице поиска выводится интересующая пользователя информация из двух таблиц: "products" - товары и "blogs" = блоги. введите сюда описание изображения

Я связал между собой таблицы через merge следующим образом:

$rsltSearch = $request->searchAll;//результат поиска
$product = Products::query()->where('name', 'LIKE', "%{$rsltSearch}%")->get();
$blog = blog::query()->where('name', 'LIKE', "%{$rsltSearch}%")->get();
$searchAll = $product->merge($blog);//связь таблиц product и blog

Но столкнулся со следующей проблемой. Т.к. у пользователя есть возможность перейти по выбранной ссылке, нужно сделать проверку перенаправления для двух роутов.

@foreach($searchAll as $item)
  <div class="product-wrapper mb-10">
    <div class="product-list-content">
       @if($item['table'] == 'product')
           <a href="{{route('pet-shop.dropuct-details',$item->id)}}">{{$item->name}}</a>
            **pet-shop-dropuct-details - страница товара**
       @else
           <a href="{{route('blog-details',$item->id)}}">{{$item->name}}</a>
            **blog-details - страница блога**
       @endif
    </div>
  </div>
@endforeach

Я пытаюсь это сделать через значение массива "table", для проверки "если table == "product"" то выводит для него требуемый роут.


Ответы (1 шт):

Автор решения: nomnoms12

Используйте метод getTable:

// products
$table = $product->getTable();
→ Ссылка