$this->data['page'] = $this->data['product_type'] = $productType->getPageData();
$this->data['products'] = [];
- $products = Product::where('product_type', $id)->where('online', 1)->get();
+
+ $products = Product::with('media') // Eager load media to avoid N+1 query problem
+ ->where('product_type', $id)
+ ->where('online', 1)
+ ->get();
+
foreach ($products as $item) {
$this->data['products'][$item->id] = $item->getPageData();
}
$this->data['product'] = $product->getPageData();
$this->data['related'] = [];
if (is_array($product->related) && count($product->related) > 0) {
- foreach (Product::whereIn('id', $product->related)->limit(4)->get() as $rel) {
+ foreach (Product::with('media')->whereIn('id', $product->related)->limit(4)->get() as $rel) {
$this->data['related'][] = $rel->getPageData();
}
}
$newsItems = [];
- $news = News::where([
- ['type', '=', 'news'],
- ['status', '=', 1],
- ])
+ $news = News::with('media')
+ ->where('type', 'news')
+ ->where('status', 1)
->orderBy('date', 'desc')
->take(4)
->get();
$newsItems = [];
- $news = NewsModel::where([
- ['type', '=', 'news'],
- ['status', '=', 1],
- ])
+ $news = NewsModel::with('media')
+ ->where('type', 'news')
+ ->where('status', 1)
->orderBy('date', 'desc')
->get();
$eventItems = [];
- $events = NewsModel::where([
- ['type', '=', 'event'],
- ['status', '=', 1],
- ])
+ $events = NewsModel::with('media')
+ ->where('type', 'event')
+ ->where('status', 1)
->orderBy('date', 'desc')
->take(2)
->get();
.breadcrumbs
- @apply flex items-center
+ @apply flex flex-wrap items-center
a
@apply text-grey-dark
@apply text-blue
&-item
- @apply pr-8 relative
+ @apply pr-8 whitespace-no-wrap relative
a
&:after