Удалить User.php

This commit is contained in:
InsaneTrash 2025-03-20 08:11:19 +00:00
parent 6c49e3ce79
commit b12bacf035

View File

@ -1,57 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Laravel\Sanctum\HasApiTokens;
use Illuminate\Database\Eloquent\Model;
use Spatie\Permission\Traits\HasRoles; // Использование правильного трейта для работы с токенами
class User extends Authenticatable
{
use HasApiTokens, HasFactory, HasRoles;
protected $fillable = ['name', 'email', 'password','doctor_id','role_type'];
public function patients()
{
return $this->hasMany(User::class, 'doctor_id');
}
// Связь с доктором (если это пациент)
public function doctor()
{
return $this->belongsTo(User::class, 'doctor_id');
}
// Связь с курсами
public function courses()
{
return $this->belongsToMany(Course::class)->withTimestamps();
}
// Связь с упражнениями, с учетом их выполнения
public function exercises()
{
return $this->belongsToMany(Exercise::class, 'exercise_user')->withPivot('completed');
}
// Метод для проверки, завершены ли все упражнения
public function isCompleted($userId)
{
// Получаем все упражнения, связанные с курсом
$exercises = $this->exercises;
// Проверяем, завершены ли все упражнения для данного пациента
foreach ($exercises as $exercise) {
// Проверка завершенности каждого упражнения
$completed = $exercise->users()->wherePivot('user_id', $userId)->wherePivot('completed', true)->exists();
if (!$completed) {
return false; // Если хотя бы одно упражнение не завершено
}
}
return true; // Все упражнения завершены
}
}