Have a weakness for (someone or something)

To be unable to resist someone or something.

The girl has a weakness for chocolate and is always eating it.