<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Carbon;

class permohonanProject extends Model
{
    use HasFactory;

    // Nama tabel yang digunakan
    protected $table = 'permohonan_projects';
    public $timestamps = true;

    // Kolom-kolom yang dapat diisi massal
    protected $fillable = [
        'judul_project',
        'bidang_sub_sektor_ekonomi_kreatif',
        'latar_belakang',
        'penerima_manfaat_pengguna_project',
        'solusi_project',
        'parameter_kesuksesan',
        'rincian_kebutuhan',
        'deskripsi_kolaborasi',
        'kata_kunci',
        'batas_terima_tawaran',
        'tanggal_mulai',
        'tanggal_berakhir',
        'kategori',
        'kontak',
        'dokumen_pendukung',
        'foto_proyek', // Menambahkan kolom foto proyek
        'user_id',     // Menambahkan kolom user ID
        'checklist_komitmen',
        'checklist_persetujuan',
    ];

    // Menggunakan casting untuk kolom tanggal
    protected $casts = [
        'batas_terima_tawaran' => 'date', // Casting kolom tanggal
        'tanggal_mulai' => 'date',
        'tanggal_berakhir' => 'date',
        'checklist_komitmen' => 'boolean',
        'checklist_persetujuan' => 'boolean',
    ];

    // Mendefinisikan hubungan dengan model User
    public function user()
    {
        return $this->belongsTo(User::class);
    }

    public function pelatihan()
    {
        return $this->hasOne(permohonanPelatihan::class);
    }

    // Define the relationship with Pendanaan
    public function pendanaan()
    {
        return $this->hasOne(permohonanPendanaan::class);
    }

    // Define the relationship with Riset
    public function riset()
    {
        return $this->hasOne(permohonanRiset::class);
    }

    // Define the relationship with ProjectInvestorDetails
    public function proyekInvestor()
    {
        return $this->hasOne(permohonanProyekInvestor::class);
    }

    
}
