laravel检查用户是否已创建个人资料

时间:2018-11-21 21:52:30

标签: php laravel-5.7

例如:

当用户首次登录或注册并且还没有创建个人资料时,无论如何,您都可以检查他在哪里进行了个人资料,因此您可以向他发送警报,以防万一他尚未进行个人资料创建。

laravel是否具有该功能,或者您需要做类似的事情?

 if(\Auth::check())

    {

        $user_id = \Auth::user()->id;
        $profile = Profile::where('id', $profile->id)->where('user_id', $user_id)->first();
        if($profile->count() > 0 ) {

            return false;

        } else {

            return true;

        }
    }

1 个答案:

答案 0 :(得分:0)

假设您想要一个Profile表来保存User中的信息而不将它们合并在一起,那么您将希望:

  1. 在项目根文件夹上运行:

    php artisan make:migration:schema create_profiles_table --schema =“ user_id:integer:foreign,title:string”

  2. 创建关系:

用户模型

public function profiles()
{
    return $this->hasOne('App\Profile', 'id', 'user_id');
}

个人资料模型

public function users()
{
    return $this->belongsTo('App\User', 'user_id', 'id');
}
  1. 检查用户是否有个人资料:

在您的控制器中

if (is_null(Auth::user()->profiles)) {
    //your logic here
}