Удалить User.php
This commit is contained in:
parent
6c49e3ce79
commit
b12bacf035
57
User.php
57
User.php
@ -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; // Все упражнения завершены
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user