小编tit*_*ior的帖子

ReflectionException - Laravel 5.5 中不存在中间件类

我知道我不是第一个遇到这种问题的人。我已经阅读了关于 Stackoverflow 和其他来源的所有现有信息,但它无法解决我的问题,我总是会得到一个ReflectionException Class App\Http\Middleware\xxx does not exist.

<?php

namespace App\Http\Middleware\xxx;

use Closure;

class xxx
{

    public function handle($request, Closure $next)
    {

        return $next($request);
    }
}
Run Code Online (Sandbox Code Playgroud)

不开玩笑,这真的是我的课。我已将其重命名xxx以避免输入错误。

我的所有路由信息都会通过该webadmin中间件:

Route::middleware(['web', 'admin'])->group(function() {  
Run Code Online (Sandbox Code Playgroud)

这是我的/app/Http/Kernel.php

protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        // \Illuminate\Session\Middleware\AuthenticateSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
        \App\Http\Middleware\xxx::class,
    ],  
Run Code Online (Sandbox Code Playgroud)
  • 文件已命名xxx.php,位置为App\Http\Middleware\.
  • 命名空间是正确的
  • composer dump-autoload 不会解决问题

我还尝试修改我的 composer.json:

"autoload": {
    "classmap": [
        "database/seeds",
        "database/factories",
        "App/Http/Middleware/xxx.php"
    ],
Run Code Online (Sandbox Code Playgroud)

导致以下警告:

Warning: …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5

5
推荐指数
1
解决办法
4657
查看次数

Laravel L5.5动态请求验证依赖于变量

在我的控制器中,我有类似的东西:

switch ($type)
    {
        case '1':
            $validation_rules = [
                'a' => 'required',
                'b' => 'required',];
            break;
        case '2':
            $validation_rules = [
                'd' => 'required',
                'j' => 'nullable|numeric',];
            break;
        case '3':
            $validation_rules = [
                't1.x' => 'required|numeric',
                't1.y' => 'required|numeric',];
            break;
    }

$request->validate($validation_rules);
Run Code Online (Sandbox Code Playgroud)

但我不喜欢这样,因为它会使我的控制器大量增加.我正在寻找一种方法来使用请求验证.

这样的东西将成为我的目标:

public function store(XXRequest $request)
Run Code Online (Sandbox Code Playgroud)

并将验证的逻辑放在里面.

php validation laravel laravel-5

1
推荐指数
1
解决办法
404
查看次数

从 Laravel 集合中获取整数值

$qrtaskdeviceid =  DB::table('qrtasks_devices')
            ->select('id')
            ->Where('deviceid', $pumpid)
            ->Where('devicetype', 'pump')
            ->get();
Run Code Online (Sandbox Code Playgroud)

返回:[{"id":4}]

我几乎尝试了一切来获得“4”,但失败了:

$qrtaskdeviceid->id
$qrtaskdeviceid->pluck('id')
$qrtaskdeviceid[id]
$qrtaskdeviceid->first();
Run Code Online (Sandbox Code Playgroud)

...

我还检查了 stackoverflow 和 google,但我找不到可以回答这个小问题的来源。

php laravel laravel-5

0
推荐指数
1
解决办法
5211
查看次数

标签 统计

laravel ×3

laravel-5 ×3

php ×3

validation ×1