Files
lpj/app/Models/PenawaranTender.php
Daeng Deni Mardaeni c41e7da05f Tambah relasi detail pada model PenawaranTender
Menambahkan fungsi relasi "detail" untuk menghubungkan model PenawaranTender dengan PenawaranDetailTender berdasarkan kondisi status 1. Relasi ini menggunakan belongTo untuk mendapatkan detail penawaran yang berstatus aktif.
2024-11-20 22:48:36 +07:00

59 lines
1.5 KiB
PHP

<?php
namespace Modules\Lpj\Models;
use Illuminate\Database\Eloquent\Model;
use Modules\Lpj\Models\TujuanPenilaianKJPP;
use Modules\Lpj\Models\PenawaranDetailTender;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\HasMany; // andy add
class PenawaranTender extends Model
{
use HasFactory;
/**
* The attributes that are mass assignable.
*/
protected $table = 'penawaran';
protected $guarded = ['id'];
// andy add
public function penawarandetails(): HasMany
{
return $this->hasMany(PenawaranDetailTender::class, 'penawaran_id', 'id')->where('status', '=', 1);
}
public function detail(){
return $this->belongsTo(PenawaranDetailTender::class, 'id', 'penawaran_id')->where('status', 1);
}
// andy add
public function emailTenderLog(): HasMany
{
return $this->hasMany(PenawaranEmailTenderLog::class, 'penawaran_id', 'id');
}
public function penawaranKjpp()
{
return $this->hasMany(PenawaranDetailTender::class, 'penawaran_id');
}
// menambahkan relasi tujuan penilaian KJPP
public function tujuanPenilaianKjpp()
{
return $this->belongsTo(TujuanPenilaianKJPP::class, 'tujuan_penilaian_kjpp_id', 'id');
}
public function permohonan()
{
return $this->belongsTo(Permohonan::class, 'nomor_registrasi', 'nomor_registrasi');
}
public function jenisLaporan()
{
return $this->belongsTo(JenisLaporan::class, 'jenis_laporan_id', 'id');
}
}