Cache e aldığınız kısmın kodlarını paylaşır mısınız doğru alınmışsa o kadar bir gecikme olacağını sanmıyorum ama
Aşağıdaki kod ile cache edip gönderiyorum menüleri. with içinde gönderdiğim child lar submenu oluyor. Onları da detaylı anlatacağım aşağıda.
$Menus = cache::remember("menu_type_front_menu.$menu_type", $minute, function () use ($menu_type) {
return $Menus = Menu::where('status', 1)
->where("parent_id", null)
->where('status', '1')
->with("parent", "child.file", "file")
->orderBy('sort_order')
->get();
});
return $Menus;Blade template aşağıdaki gibi gönderiyorum.
@foreach ($Menus as $sideMenu)
@include("frontend.megamenu", ["sideMenu" => $sideMenu])
@endforeachYukarıdaki kod içindeki megamenu olarak tanımladığım blade template içeriği de şu şekilde.
@if (count($sideMenu->child) > '0' && $loop->depth == 1)
<li class="nav-item dropdown has-megamenu ulinkh py-3">
@elseif (!empty($sideMenu->parent_id))
<li class="nav-item">
@else
<li class="nav-item ulinkh py-3">
@endif
<a href="{{ url($sideMenu->slug) }}" @if (count($sideMenu->child) > '0' && $sideMenu->parent_id == null) class="nav-link border-start ulink px-3"
id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"
@elseif(!empty($sideMenu->parent_id) && $loop->depth == 2) class="text-dark ulink-alt link-dark text-decoration-none fw-bold"
@elseif(!empty($sideMenu->parent_id)) class="link-dark text-decoration-none fw-light"
@else class="nav-link border-start ulink px-3" @endif @if (Request::segment(1) == '' && $loop->index == 0 && $sideMenu->parent_id == null) active
@endif
@if (isset($sideMenu->description)) title="{{ $sideMenu->description }}"
@endif
@if ($sideMenu->target == '1') target="_blank" @endif
>
{{ $sideMenu->title }}
@if (count($sideMenu->child) > '0' && $sideMenu->parent_id == null) <i
class="fas fa-angle-down"></i>@endif
</a>
@if (count($sideMenu->child) > 0)
@if ($loop->depth == 1)
<div class="dropdown-menu megamenu" role="menu">
<div class="row ">
{{-- <div class="row g-3"> --}}
<div class="col-md-7">
<div class="row row-cols-5">
@foreach ($sideMenu->child as $key => $childMenu)
@if (count($childMenu->file) == 0)
<div class="col-4 col-md-3">
<div class="col-megamenu">
<ul class="list-unstyled h-auto">
@if ($childMenu->status == '1')
[B] @include("frontend.megamenu", [/B][B]["sideMenu" => $childMenu])[/B]
@endif
</ul>
</div>
</div>
@endif
@endforeach
</div>
</div>
<div class="col-md-5">
<div class="col-megamenu">
<div class="row">
@foreach ($sideMenu->child as $key => $childMenu)
@if (count($childMenu->file) > 0)
<div class="col-12 col-md-6 mb-4">
<a href="{{ url($childMenu->slug) }}"><img
class="rounded mx-auto d-block img-fluid lazyload" loading="lazy"
data-src="{{ get_image($childMenu->file[0]->path, 'Dikdortgen', $childMenu->file[0]->file_name) }}"
alt="{{ $childMenu->file[0]->file_name }}"></a>
</div>
@endif
@endforeach
</div>
</div>
</div>
</div>
</div>
@elseif($loop->depth == 2)
@foreach ($sideMenu->child as $key => $childMenu)
@if ($childMenu->status == '1')
[B] @include("frontend.megamenu", [/B][B]["sideMenu" => $childMenu])[/B]
@endif
@endforeach
@endif
@endif
</li>Fark ettiğiniz üzere aşağıda kesit aldığım kodlar sürekli bir query yemekte. Bu da sistemi mahvediyor.
@foreach ($sideMenu->child as $key => $childMenu)
@if ($childMenu->status == '1')
[B] @include("frontend.megamenu", [/B][B]["sideMenu" => $childMenu])[/B]
@endif
@endforeach