<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class TrainingSession extends Model
{
    protected $fillable = [
        'program_id',
        'user_id',
        'date',
        'time',
        'duration',
        'mode',
        'location',
        'notes',
        'trainers',
        'trainer_costs',
    ];

    // Relationship
    public function program()
    {
        return $this->belongsTo(TrainingProgram::class, 'program_id');
    }

    public function user()
    {
        return $this->belongsTo(User::class, 'user_id');
    }

    public function users()
    {
    return $this->belongsToMany(User::class, 'training_session_user');
    }

    public function trainers()
    {
    return $this->belongsToMany(User::class, 'program_trainers', 'program_id', 'user_id')
                ->withPivot('cost')
                ->withTimestamps();
    }
    
    protected $casts = [
        'trainers' => 'array',
        'trainer_costs' => 'array',
    ];
}