【问题标题】:Laravel undefined method and undefined typeLaravel 未定义方法和未定义类型
【发布时间】:2022-12-23 21:29:14
【问题描述】:
public function register(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'name' => 'required|max:191',
            'name' => 'required|max:191',
            'name' => 'required|max:191',
        ]);

        if ($validator->fails()) {
            return response()->json([
                'validation_errors' => $validator->messages(),
            ]);
        } else {
            $user = User::create([
                'name' => $request->name,
                'email' => $request->email,
                'password' => Hash::make($request->password)
            ]);
            $token = $user->createToken($user->email . '_Token')->plainTextToken;
            return response()->json([
                'status' => 200,
                'username' => $user->name,
                'token' => $token,
                'message' => 'Registered Successfully',
            ]);
        }

未定义的方法'消息'.intelephense(1013),

未定义类型 'App\Http\Controllers\API\User'.intelephense(1009)

(用户::创建) ($validator->messages()) 如何解决这些问题?请帮助。

【问题讨论】:

  • 您是否在代码顶部添加了use App\Models\User;(或use App\User;,取决于命名空间)和use Illuminate\Support\Facades\Validator;?
  • 使用 Illuminate\Support\Facades\Validator;我加了这个。但是我没有添加 use App\Models\User;
  • 非常感谢,已解决。我以为它会自动导入。
  • 如果不先通过use App\Models\Model; 导入Model,通常不能调用Model::create,这就是 Intellephense 抱怨没有类型App\Http\Controllers\API\User 的原因。至于messages(),我认为没有messages()方法;你是说$validator->errors()吗?
  • 是的,你救了我。(搜索花了很多时间)。我是 laravel 的新手。再次感谢。为什么你不回答,而是评论?

标签: laravel-8 laravel-sanctum


【解决方案1】:

首次使用

使用应用用户;在你的控制器中,然后在那个上面使用

使用 IlluminateSupportFacadesValidator;

它应该可以解决你的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    • 1970-01-01
    • 2016-06-07
    相关资源
    最近更新 更多