Файловый менеджер - Редактировать - /home/clickysoft/public_html/app/Models/User.php
Назад
<?php namespace App\Models; use Carbon\Carbon; use DateTimeInterface; use Hash; use App\Models\Scopes\UserOrganization; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\MediaCollections\Models\Media; use Laravel\Sanctum\HasApiTokens; class User extends Authenticatable implements HasMedia, MustVerifyEmail { use Notifiable, InteractsWithMedia, HasFactory, HasApiTokens; public $table = 'users'; protected $appends = [ 'avatar', ]; protected $hidden = [ 'remember_token', 'password', ]; protected $dates = [ 'email_verified_at', 'created_at', 'updated_at', ]; protected $fillable = [ 'organization_id', 'first_name', 'last_name', 'email', 'password', 'contact_number', 'status', 'email_verified_at', 'remember_token', 'created_at', 'updated_at', ]; protected static function booted(): void { static::addGlobalScope(new UserOrganization()); } protected function serializeDate(DateTimeInterface $date) { return $date->format('Y-m-d H:i:s'); } public function getIsAdminAttribute() { return $this->roles()->where('id', 1)->exists(); } public function registerMediaConversions(Media $media = null): void { $this->addMediaConversion('thumb')->fit('crop', 100, 100); $this->addMediaConversion('preview')->fit('crop', 200, 200); } public function organization() { return $this->belongsTo(Organization::class, 'organization_id'); } public function companies() { // return $this->belongsToMany(Company::class); return $this->belongsToMany(Company::class, 'company_user', 'user_id', 'company_id') ->withPivot('branch_id'); } public function setPasswordAttribute($input) { if ($input) { $this->attributes['password'] = app('hash')->needsRehash($input) ? Hash::make($input) : $input; } } public function getAvatarAttribute() { $file = $this->getMedia('avatar')->last(); if ($file) { $file->url = $file->getUrl(); $file->thumbnail = $file->getUrl('thumb'); $file->preview = $file->getUrl('preview'); } return $file; } public function getFullNameAttribute() { return $this->first_name . ' ' . $this->last_name; } public function getEmailVerifiedAtAttribute($value) { return $value ? Carbon::createFromFormat('Y-m-d H:i:s', $value)->format(config('panel.date_format') . ' ' . config('panel.time_format')) : null; } public function setEmailVerifiedAtAttribute($value) { $this->attributes['email_verified_at'] = $value ? Carbon::createFromFormat(config('panel.date_format') . ' ' . config('panel.time_format'), $value)->format('Y-m-d H:i:s') : null; } public function roles() { return $this->belongsToMany(Role::class); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка