возврат данных с использованием промежуточного программного обеспечения laravel - PullRequest
0 голосов
/ 09 октября 2019

Я пытаюсь получить данные панели навигации из базы данных, используя класс промежуточного программного обеспечения, чтобы я мог получить к нему доступ в любом месте приложения, данные идут нормально, но класс печатает данные как ответ ajax вместо передачи их в виде массива, когда япытался перемещаться по любому маршруту в приложении, он печатает данные и умирает и не показывает правильное представление

 <?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Response;
use App\Navigation;
use App\PrimaryNavigation ;
use Illuminate\Http\Request;
class NavigationMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $mainNavi = Navigation::with('PrimaryNavigation')->get() ;
        $subNavi = PrimaryNavigation::with('SubNavigation')->get() ;
        $navigation = [
            'main' => $mainNavi,
            'sub' =>$subNavi
        ];
        return Response($navigation);

    }
}

класса промежуточного программного обеспечения, зарегистрированного в классе ядра

<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
    /**
     * The application's global HTTP middleware stack.
     *
     * These middleware are run during every request to your application.
     *
     * @var array
     */
    protected $middleware = [
        \App\Http\Middleware\TrustProxies::class,
        \App\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \App\Http\Middleware\NavigationMiddleware::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    ];

1 Ответ

3 голосов
/ 09 октября 2019

использование промежуточного программного обеспечения для этого не очень хорошая идея, используйте view composers или ..., см. эту тему тоже

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...