В настоящее время я использую Laravel Provider
для передачи данных в представление каждый раз, когда оно вызывается. App.blade.php
включает блейд-файл, если пользователь аутентифицирован.
Моя проблема в том, что на данный момент, независимо от того, в каком представлении находится пользователь, он все равно вызывает ViewServiceProvider.php
, что кажется не очень эффективным.
Я пытался использовать @if(view()->exists('home'))
, но это, кажется, не имеет никакого эффекта, и, таким образом, запросы по-прежнему вызываются из ViewServiceProvider.php
.
App.blade.php:
@if(!Auth::guest())
@if(view()->exists('home'))
@include('layouts.check')
@endif
@endif
ViewServiceProvider.php:
public function boot()
{
view()->composer('layouts.check', function ($view) {
$sites = Site::where('trust_id', Auth::id())->get();
$view->with(['sites' => $sites]);
});
}
Любая помощь будет очень признательна.