Laravel 为什么找不到具有该电子邮件地址的用户? 公共函数createRequest$request{ $this->validate$request,['email'=>'required | email',]; $user=user::where'email',$request->email->first; 如果$user 返回响应->json[ '消息'=>'我们找不到具有该电子邮件地址的用户。' ], 404;

Laravel 为什么找不到具有该电子邮件地址的用户? 公共函数createRequest$request{ $this->validate$request,['email'=>'required | email',]; $user=user::where'email',$request->email->first; 如果$user 返回响应->json[ '消息'=>'我们找不到具有该电子邮件地址的用户。' ], 404;,laravel,Laravel,试着这样做 这将返回一个成功的用户发现,如果用户实际上是在数据库中的电子邮件或返回404没有找到用户 public function create(Request $request) { $this->validate($request, [ 'email' => 'required|email', ]); $user = User::where('email', $request->email)->first(); if ($user) {

试着这样做

这将返回一个成功的用户发现,如果用户实际上是在数据库中的电子邮件或返回404没有找到用户

public function create(Request $request) { 
    $this->validate($request, [ 'email' => 'required|email', ]);
    $user = User::where('email', $request->email)->first();
    if ($user) {
        return response()->json([
            'message' => 'User Found'
         ], 200);
    } else {
        return response()->json([
            'message' => 'We can not find a user with that e-mail address.' 
         ], 404);
    }
}
试着用isEmpty,像这样:

public function create(Request $request) { 
    
    $validatedData = $request->validate([
        'email' => 'required|email',
    ]);

    $user = User::where('email', $request->email)->first();

    if ($user->isEmpty())  {
        return response()->json([
             'message' => 'We can not find a user with that e-mail address.' 
        ], 404);
     } else {
          return response()->json([
             'message' => 'User is found'], 201 );
     }
}
只需使用现有的验证方法

public function create(Request $request) { 

       $validatedData = $request->validate([
            'email' => 'required|email|exists:user,email',
       ]);

}
你也可以试试这个

public function create(Request $request) { 
    $this->validate($request, [ 'email' => 'required|email', ]);
    $user = User::where('email', $request->email)->first();
    if (!$user) {
        return response()->json([
            'message' => 'We can not find a user with that e-mail address.' 
        ], 404);
    }
}

这是您的实际代码吗?如果它能够找到用户,则返回404,因为您有if$user,这意味着如果用户是真实用户,则在本例中为非空值if$user{-缺少-}if语句中缺少花括号请参阅下面的工作解决方案。在我的应用程序上测试。@TalhaF。显然这不是问题。没有括号也可以工作。如果需要澄清,您可以测试它。谢谢:这没有按预期工作。在回答此问题之前,您确定并测试了此问题。谢谢:您有吗是否尝试使用此isEmpty函数?您将能够看到错误消息。如果$user stright,则最好使用stright。Thanks@AlwaysHelping,是的,我检查过了&工作正常。