Not being treated right at work. 😡

Sorry ladies I need to vent! I work at a doctors office and I've been there for 2 years. I'm the youngest in the office and there is one girl that works with me who is only 2 years old than me. I'm 23 and she's 25. She had an affair with the doctor before I started and he always picks sides with her for obvious reasons. She only comes to work when she wants and about 2 weeks ago her and I got into an argument and she left and he made us both sit down with him and attacked me and she got away with nothing. He got very personal about my attitude and tried to tell me I was insecure and that's why I act so tough. Today I called out because I'm sick in bed laying on a heating pad with a possible kidney infection and he told my boss to text me and tell me I had to come to work, all because his little girlfriend has an appt that she MUST go to because her ear hurts. I always have to stay really late because she leaves early and come in on my days off because she doesn't feel like it. And I am absolutely fed up I'm unhappy but money's tight. I need some advice. Should I stay and continue to be treated like dirt, or do I leave and find something better?