$notifications * @property-read int|null $notifications_count * @property-read \Illuminate\Database\Eloquent\Collection $passkeys * @property-read int|null $passkeys_count * @property-read \App\Models\TeamMember|null $pivot * @property-read \Illuminate\Database\Eloquent\Collection $teams * @property-read int|null $teams_count * @method static \Database\Factories\UserFactory factory($count = null, $state = []) * @method static \Illuminate\Database\Eloquent\Builder|User newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|User newQuery() * @method static \Illuminate\Database\Eloquent\Builder|User query() * @method static \Illuminate\Database\Eloquent\Builder|User whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereEmail($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereEmailVerifiedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereName($value) * @method static \Illuminate\Database\Eloquent\Builder|User wherePassword($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereRememberToken($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereTwoFactorConfirmedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereTwoFactorRecoveryCodes($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereTwoFactorSecret($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereUpdatedAt($value) * @mixin \Eloquent */ #[Fillable(['name', 'email', 'password'])] #[Hidden(['password', 'two_factor_secret', 'two_factor_recovery_codes', 'remember_token'])] class User extends Authenticatable implements PasskeyUser, MustVerifyEmail { /** @use HasFactory */ use HasFactory, Notifiable, PasskeyAuthenticatable, TwoFactorAuthenticatable; /** * Get the attributes that should be cast. * * @return array */ protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', 'two_factor_confirmed_at' => 'datetime', ]; } public function teams(): BelongsToMany { return $this->belongsToMany(Team::class, 'team_members') ->using(TeamMember::class) ->withPivot(['role']) ->withTimestamps(); } }