Radical Design Course by Jack McDade

From the creator of Statamic

Learn how to make your websites standout and be remembered.

This course is the most refreshing take on teaching design that I've come across.

— Mikaël Sévigny, Developer

User Repository

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 method
User::find('abc123');

Get a user by email

User::query()
->where('email', '[email protected]')
->first();
 
// Or with the shorthand method
User::findByEmail('[email protected]');

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.

$user = User::make()->email('[email protected]');

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();
HR: Section
Learn More!

There is more to learn more in these related articles:

Fieldtypes

shipment-container
HR: Section
Docs feedback

Submit improvements, related content, or suggestions through Github.

Betterify this page →