You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.1 KiB

<?php
namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
use Illuminate\Database\Eloquent\Relations\HasMany;
use App\Models\Validation\ValidationByNameInterface;
class User extends Authenticatable implements ValidationByNameInterface
{
use HasApiTokens, HasFactory, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'username',
'matrix_username',
'phone',
];
public static function isExistByName(string $name): bool
{
$count = User::where('matrix_username', $name)->count();
return $count != 0;
}
public static function isNameValid(string $name): bool
{
return $name != '';
}
public function userAddresses(): HasMany
{
return $this->hasMany(UserAddress::class);
}
}