. */ namespace App; use Illuminate\Database\Eloquent\Model; class Application extends Model { public $fillable = [ 'applicantUserID', 'applicantFormResponseID', 'applicationStatus', ]; public function oneoffApplicant() { return $this->hasOne('App\OneoffApplicant', 'application_id', 'id'); } public function user() { return $this->belongsTo('App\User', 'applicantUserID', 'id'); } public function response() { return $this->hasOne('App\Response', 'id', 'applicantFormResponseID'); } public function appointment() // 1 - 1 { return $this->hasOne('App\Appointment', 'applicationID', 'id'); } public function votes() { return $this->belongsToMany('App\Vote', 'votes_has_application'); } public function comments() { return $this->hasMany('App\Comment', 'applicationID', 'id'); } public function setStatus($status) { return $this->update([ 'applicationStatus' => $status, ]); } public function isOneoff() { return $this->user->id == 1; // ID 1 is always the ghost } }