В Laravel можно передавать данные из middleware в контроллер с помощью объекта Request. Для этого можно использовать метод merge() объекта Request, который добавляет данные в массив request текущего объекта Request.

Пример:

1. Создайте middleware:

<?php

namespace App\Http\Middleware;

use Closure;

class MyMiddleware
{
    public function handle($request, Closure $next)
    {
        // Добавляем данные в request
        $request->merge(['foo' => 'bar']);

        return $next($request);
    }
}

2. Зарегистрируйте middleware в файле app/Http/Kernel.php:

protected $middleware = [
    // ...
    \App\Http\Middleware\MyMiddleware::class,
];

3. В контроллере вы можете получить данные из Request:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class MyController extends Controller
{
    public function myAction(Request $request)
    {
        $foo = $request->input('foo'); // 'bar'
        // ...
    }
}

Теперь при вызове метода myAction в контроллере, в $foo будет передано значение 'bar', которое было добавлено в middleware.