Lumen 中不存在方法尝试

Posted

技术标签:

【中文标题】Lumen 中不存在方法尝试【英文标题】:Method attempt does not exist in Lumen 【发布时间】:2017-12-28 23:20:34 【问题描述】:

我正在使用 Lumen 和 Fractal 制作 API,但出现错误

方法尝试不存在

尝试登录时。有人可以帮我解决这个问题吗?这是我的控制器:

public function login(Request $request, User $user)

    if (!Auth::attempt(['email' => $request->email, 'password'  => $request->password])) 
        return response()->json(['error' => 'email or password wrong'], 401);
    

    $user = $user->find(Auth::user()->id);

    return fractal()
        ->item($user)
        ->transformWith(new UserTransformer)
        ->addMeta([
            'token' => $user->api_token,
        ])
        ->toArray();

这是我的错误

(1/1) 错误方法调用异常 方法尝试不存在。 在 Macroable.php 中(第 74 行)

【问题讨论】:

嗨,轻松学习,您是否有任何解决方案来解决这个问题,我在使用 Lumen 5.5 时遇到了同样的问题 方法尝试不存在,您可以使用检查方法代替尝试。 你能告诉我你的用户模型吗?您需要实际实现合同定义的那些方法。使用 Authenticatable 特征。 【参考方案1】:

在您的 bootstrap/app.php 文件中,您是否取消了对第 26 行或第 81-83 行的这些行的注释?

// $app->withFacades();

// $app->withEloquent();

【讨论】:

以上是关于Lumen 中不存在方法尝试的主要内容,如果未能解决你的问题,请参考以下文章

Lumen:jwt-auth 不存在方法句柄,已完成中间件

流明验证:数据库中不存在值的规则

Lumen 5.6 - php artisan db:seed 出现错误“类 DatabaseSeeder 不存在”

您尝试访问的方法“日期”在类声明中不存在

Laravel 中不存在方法 Illuminate\Auth\SessionGuard::users

方法 Illuminate\Auth\RequestGuard::attempt 不存在