'datetime', 'updated_at' => 'datetime', 'password' => 'hashed', // Laravel 10+ auto hash ]; // ============================================ // RELATIONSHIPS // ============================================ /** * User punya banyak riwayat diagnosis */ public function riwayatDiagnosis() { return $this->hasMany(RiwayatDiagnosis::class, 'user_id'); } /** * Admin upload banyak artikel budidaya */ public function artikelBudidaya() { return $this->hasMany(InformasiBudidaya::class, 'created_by'); } /** * Admin upload banyak artikel hama/penyakit */ public function artikelHamaPenyakit() { return $this->hasMany(InformasiHamaPenyakit::class, 'created_by'); } // ============================================ // HELPER METHODS // ============================================ /** * Cek apakah user adalah admin */ public function isAdmin() { return $this->role === 'admin'; } /** * Cek apakah user biasa */ public function isUser() { return $this->role === 'user'; } /** * Get display name * (Karena Laravel default cari 'name', kita redirect ke 'nama') */ public function getNameAttribute() { return $this->nama; } }