Удалить 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