'datetime', 'approved_at' => 'datetime', 'rejected_at' => 'datetime', ]; public function asset() { return $this->belongsTo(Asset::class); } public function fromLocation() { return $this->belongsTo(AssetLocation::class, 'from_location_id'); } public function toLocation() { return $this->belongsTo(AssetLocation::class, 'to_location_id'); } public function fromDepartment() { return $this->belongsTo(Department::class, 'from_department_id'); } public function toDepartment() { return $this->belongsTo(Department::class, 'to_department_id'); } public function fromUser() { return $this->belongsTo(AssetUser::class, 'from_asset_user_id'); } public function toUser() { return $this->belongsTo(AssetUser::class, 'to_asset_user_id'); } public function approval() { return $this->morphOne(AssetApprovalRequest::class, 'approvable'); } }