80 lines
2.0 KiB
PHP
80 lines
2.0 KiB
PHP
<?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);
|
|
}
|
|
|
|
|
|
}
|