This is happening because the foreign keys are the same. You can specify what the foreign keys should be for the second relationship in both cases like this:
belongs_to :previous_staff , class_name: 'Staff', foreign_key: 'previous_staff_id'
belongs_to :previous_advisor, class_name: 'Advisor', foreign_key: 'previous_advisor_id'
That'll preserve the separate relationships. The staff
and the advisor
relationships are fine.
EDIT: This was answered after the considerable edit of the question.