To work with the User Repository, use the following Facade:
use Statamic\Facades\User;
Methods
Methods | Description |
---|---|
all() |
Get all Users |
current() |
Get current User |
find($id) |
Get User by id |
findByEmail($email) |
Get User by email |
findByOAuthID($provider, $id) |
Get User by an ID from an OAuth provider |
query() |
Query Builder |
make() |
Makes a new User instance |
Querying
Get a user by ID
User::query() ->where('id', 'abc123') ->first(); // Or with the shorthand methodUser::find('abc123');
Get a user by email
User::query() ->first(); // Or with the shorthand method
Get a user by OAuth ID
User::findByOAuthId('github', '123');
Get all super users
User::query()->where('super', true)->get();
Get the currently logged in user
User::current();
Creating
Start by making an instance of a user with the make
method.
You need at least an email before you can save a user.
You may call additional methods on the user to customize it further.
$user ->password('plaintext') // it will be hashed for you ->data(['foo' => 'bar']) // an array of data (front-matter) ->preferences($prefs) // array of preferences ->roles($roles) // array of roles ->groups($groups); // array of groups
Finally, save it.
$user->save();