have a hard-on for
sloveso
—
(US, vulgar, slang) To have an irrational, or abnormal fixation or preoccupation with; to have a fetish (sense 3) for.
—
(US, vulgar, slang; of a man or pubescent boy; in reference to the erect penis) To have a strong sexual desire for; to lust after.