<?php

namespace App\Models\User;

use App\Models\Admin\MsBidangKepakaran;
use App\Models\Admin\MsNegara;
use App\Traits\UuidTrait;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class PenelitiAsing extends Model
{
    use HasFactory;
    use UuidTrait;

    public $incrementing = false;
    protected $table = 'penelitiasing';
    protected $keyType = 'string';

    protected $fillable = [
        'id', 'nama', 'jenis_kelamin', 'institusi', 'negara_id', 'pendidikan', 'bidang_id', 'lamatinggal', 'userid_created', 'userid_updated', 'created_at', 'updated_at',
    ];

    public const RULES = [
        'nama' => 'required',
        'jenis_kelamin' => 'required',
        'institusi' => 'required',
        'negara_id' => 'required',
        'pendidikan' => 'required',
        'bidang_id' => 'required',
        'lamatinggal' => 'required',
    ];

    public const ERROR_MESSAGES = [
        'nama.required' => 'nama tidak boleh kosong',
        'jenis_kelamin.required' => 'jenis_kelamin tidak boleh kosong',
        'institusi.required' => 'institusi tidak boleh kosong',
        'negara_id.required' => 'negara tidak boleh kosong',
        'pendidikan.required' => 'pendidikan tidak boleh kosong',
        'bidang_id.required' => 'bidang tidak boleh kosong',
        'lamatinggal.required' => 'lamatinggal tidak boleh kosong',
    ];

    public function negara()
    {
        return $this->belongsTo(MsNegara::class, 'negara_id', 'id');
    }

    public function bidang()
    {
        return $this->belongsTo(MsBidangKepakaran::class, 'bidang_id', 'id');
    }
}
