<?php namespace App\Models\User; use App\Base\BaseModel; use App\Models\Auth\AdminGroup; use Illuminate\Auth\Authenticatable; /** * App\Models\User * * @property int $id * @property string $phone * @property string $password * @property string $email * @property int $status 0 禁用 1启用 * @property int $group_id * @property array $extra 糊屎字段 * @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $updated_at * @property-read AdminGroup|null $group * @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 whereExtra($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereGroupId($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereId($value) * @method static \Illuminate\Database\Eloquent\Builder|User wherePassword($value) * @method static \Illuminate\Database\Eloquent\Builder|User wherePhone($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereStatus($value) * @method static \Illuminate\Database\Eloquent\Builder|User whereUpdatedAt($value) * @mixin \Eloquent * @property-read \App\Models\User\UserCompany|null $company */ class User extends BaseModel implements \Illuminate\Contracts\Auth\Authenticatable { use Authenticatable; protected $table = "user"; const STATUS_OK = 1; const STATUS_STOP = 2; protected $casts = [ "extra" => "array", ]; public function checkPassword($password): bool { return $this->password == $this->hashPassword($password); } public function hashPassword($password) { return hashid_encode($password); } public function group() { return $this->belongsTo(AdminGroup::class, "group_id", "id"); } public function company() { return $this->hasOne(UserCompany::class, "user_id", "id"); } }