Automaticly make a profile when user registers (Laravel 5)

后端 未结 2 2072
春和景丽
春和景丽 2021-01-18 19:31

I\'m trying to make a profile page for my registered users. On this page the Auth\\User data will be displayed (Name, Email) but also extra profile information (city, countr

2条回答
  •  甜味超标
    2021-01-18 20:02

    There are three options that come to my mind.

    Combine User and Profile tables

    Why are you separating the user account from the profile? I can't think of a good reason to (not saying there isn't one, I just can't think of one). Combining the tables would save you database queries and completely resolve this issue. I think this would be the best option.

    Use model event.

    Create a listener on the User::created event.

    User::created(function(User $user) {
        $user->profile->save(Profile::create([... ]));
    });
    

    Use a repository

    Create a user repository to manage all the data base querying. Then in the repository create method you can manually create the profile record and associate the two. Then use the repository in the Registrar instead of the Model directly

提交回复
热议问题