如何检查用户电子邮件是否为空?

时间:2019-03-25 16:01:25

标签: laravel null

我正在尝试通过Laravel项目中的继承对2个用户进行身份验证。

在我的迁移中,我只有1列可以为空,该列为email。 我希望通过该专栏对教授和校友进行双重身份验证,我也有两种注册簿,一种具有输入电子邮件,另一种没有。 在我的数据库中,我有2个用户,一个是教授,另一个校友,教授拥有电子邮件,另一个也有电子邮件,因为他们属于同一表,但该电子邮件在校友行中为NULL。

我正在尝试检查登录时该用户的电子邮件列是否为空,我的视图返回校友身份。 如果不为null,则我的观点返回教授。

我试图检查我的Laravel控制器中的电子邮件是否为空。

这是我的代码

public function index()
{
    $user = User::where('email', '=', Input::get('email'))->first();
    if ($user == 'NULL'){
        return ('alumn');
    }
    if ($user != 'null'){
        return ('professor');
    }
}

我的Laravel路由器看起来像这样。

Route::get('/home', 'HomeController@index')->name('home');

我也在控制器中尝试了此功能,而不是另一个。

if (User::where('email', '=', Input::get('email'))->count() > 0) {
   // user found
}

并使用exist()而不是count()。

如果您想知道,我现在只返回一个字符串以进行测试。

5 个答案:

答案 0 :(得分:0)

尝试以下操作:

public function index()
{
    $user = User::where('email', '=', Input::get('email'))->first();
    if (empty($user)){
        return view('alumn');
    }else{
        return view('professor');
    }
}

您的视图文件必须位于resources / view目录中

  1. alumn.blade.php
  2. professor.blade.php

答案 1 :(得分:0)

您遇到的问题在您的条件内。 ($user == 'NULL')($user != 'null')。如果User对象是以下字符串,则当前要检查的内容:"NULL"

这些不是您检查null的方式。有很多可行的选择。

    if (empty($user)){
        return view('alumn');
    }

    // OR

    if (!$user) {
        return view('alumn');
    }

    // OR

    if (is_null($user)) {
        return view('alumn');
    }

会工作。您也可以使用is_null。如果要检查用户是否等于null,则不能在双引号周围加上引号。

答案 2 :(得分:0)

如果没有数据,first()方法将返回null,因此请使用is_null()像这样:

if ( is_null($user) ) {
    return view('alumn');
}else{
    return view('professor');
}

答案 3 :(得分:0)

仅供参考,first()在数据库中没有数据时将为您返回null,因此希望对您有帮助

public function index()
{
    $user = User::where('email', '=', Input::get('email'))->first();

    if ( is_null($user) ) {
        return view('alumn');
    } else {
        return view('professor');
    }
}

答案 4 :(得分:0)

在我的情况下,上述所有答案均无效。 所以我这样做是为了让它变得值得。

public function index()
{
    $user = Auth::user();
    if ($user->email == ''){
        return ('alumne');
    }
    else{
        return ('professor');
    }
    print_r(Auth::user());
}

首先我打印了Auth :: user,以检查是否一切正常,然后尝试将身份验证保存在名为 user 的变量中。 然后我检查了有条件,一切都很好。