mastercut/app/Models/User.php

90 lines
2.0 KiB
PHP

<?php
namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Database\Eloquent\Relations\MorphOne;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable
{
use HasFactory, Notifiable, SoftDeletes;
protected $fillable = [
'role_id',
'barbershop_id',
'username',
'email',
'password',
'base_salary',
'sop',
'is_active',
];
public function role(): BelongsTo
{
return $this->belongsTo(Role::class);
}
public function barbershop(): BelongsTo
{
return $this->belongsTo(Barbershop::class);
}
public function biography(): HasOne
{
return $this->hasOne(Biography::class);
}
public function customers(): HasMany
{
return $this->hasMany(Customer::class);
}
public function services(): HasMany
{
return $this->hasMany(Service::class);
}
public function attendances(): HasMany
{
return $this->hasMany(Attendance::class);
}
public function expenses(): HasMany
{
return $this->hasMany(Expense::class);
}
public function inventory(): HasMany
{
return $this->hasMany(Inventory::class);
}
public function transactions(): HasMany
{
return $this->hasMany(Transaction::class);
}
public function payrolls(): HasMany
{
return $this->hasMany(Payroll::class);
}
public function cash(): HasMany
{
return $this->hasMany(Cash::class);
}
public function attachment(): MorphOne
{
return $this->morphOne(Attachment::class, 'attachmentable');
}
}