|ApprovalSurat newModelQuery() * @method static \Illuminate\Database\Eloquent\Builder|ApprovalSurat newQuery() * @method static \Illuminate\Database\Eloquent\Builder|ApprovalSurat query() * @method static \Illuminate\Database\Eloquent\Builder|ApprovalSurat whereCatatan($value) * @method static \Illuminate\Database\Eloquent\Builder|ApprovalSurat whereCreatedAt($value) * @method static \Illuminate\Database\Eloquent\Builder|ApprovalSurat whereIdApproval($value) * @method static \Illuminate\Database\Eloquent\Builder|ApprovalSurat whereIdApprover($value) * @method static \Illuminate\Database\Eloquent\Builder|ApprovalSurat whereIdSurat($value) * @method static \Illuminate\Database\Eloquent\Builder|ApprovalSurat whereIdTtdApprover($value) * @method static \Illuminate\Database\Eloquent\Builder|ApprovalSurat whereStatus($value) * @method static \Illuminate\Database\Eloquent\Builder|ApprovalSurat whereTahap($value) * @method static \Illuminate\Database\Eloquent\Builder|ApprovalSurat whereUpdatedAt($value) * @mixin \Eloquent */ class ApprovalSurat extends Model { protected $table = 'approval_surat'; protected $primaryKey = 'id_approval'; public $incrementing = false; protected $keyType = 'string'; protected $fillable = [ 'id_surat', 'id_approver', 'id_ttd_approver', 'tahap', 'status', 'catatan', ]; protected static function booted() { static::creating(function ($model) { if (empty($model->{$model->getKeyName()})) { $prefix = 'APR-' . date('ym') . '-'; $model->{$model->getKeyName()} = $prefix . strtoupper(Str::random(5)); } }); } public function suratIzin() { return $this->belongsTo(SuratIzin::class, 'id_surat', 'id_surat'); } public function approver() { return $this->belongsTo(User::class, 'id_approver'); } public function tandaTanganApprover() { return $this->belongsTo(TandaTangan::class, 'id_ttd_approver', 'id_tanda_tangan'); } }