<?php
namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, HasFactory, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'nama',
'email',
'password',
// 'alamat',
// 'no_hp',
// 'tanggal_lahir',
// 'jenis_kelamin',
// 'no_ktp',
// 'foto_ktp',
// 'foto_profil',
// 'status_pekerjaan',
// 'bidang_pekerjaan',
// 'tempat_bekerja',
// 'provinsi_id',
// 'kabupaten_id',
// 'kecamatan_id',
// 'kelurahan_id',
'role',
'no_telp'
];
protected $appends = [
'latest_status',
'hadir'
];
public function getHadirAttribute(){
return false;
}
/**
* The attributes that should be hidden for serialization.
*
* @var array<int, string>
*/
protected $hidden = [
'password',
'remember_token',
];
/**
* The attributes that should be cast.
*
* @var array<string, string>
*/
protected $casts = [
'email_verified_at' => 'datetime',
'password' => 'hashed',
];
public function peserta() {
return $this->hasOne(Peserta::class)->withDefault([
'nik' => '-'
]);
}
// public function provinsi()
// {
// return $this->belongsTo(Province::class)->withDefault([
// 'name' => 'Unknown'
// ]);
// }
// public function kabupaten()
// {
// return $this->belongsTo(Regency::class)->withDefault([
// 'name' => 'Unknown'
// ]);
// }
// public function kecamatan()
// {
// return $this->belongsTo(District::class)->withDefault([
// 'name' => 'Unknown'
// ]);
// }
// public function kelurahan()
// {
// return $this->belongsTo(Village::class)->withDefault([
// 'name' => 'Unknown'
// ]);
// }
public function user_statuses(){
return $this->hasMany(UserStatus::class);
}
public function getLatestStatusAttribute(){
return @$this->user_statuses->sortBy('id')->last() ?? null;
}
public function pelatihan_pesertas(){
return $this->hasMany(PelatihanPeserta::class);
}
public function pelatihans(){
return $this->belongsToMany(Pelatihan::class,'pelatihan_pesertas');
}
public function tugas_pesertas(){
return $this->hasMany(TugasPeserta::class);
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]