have somebody/something to thank (for something)
US /hæv ˈsʌmˌbɑːdi/ˈsʌmˌθɪŋ tə θæŋk (fɔːr ˈsʌmˌθɪŋ)/
UK /hæv ˈsʌmˌbɑːdi/ˈsʌmˌθɪŋ tə θæŋk (fɔːr ˈsʌmˌθɪŋ)/

1.
быть обязанным кому-либо/чему-либо, винить кого-либо/что-либо
to be grateful to someone or something for a particular outcome, often a negative one, implying that they are responsible for it
:
•
You have yourself to thank for this mess.
Ты можешь винить только себя за этот беспорядок.
•
If we miss the flight, we'll have him to thank for it.
Если мы опоздаем на рейс, мы будем обязаны ему за это.