This expression is total BS if you just follow 3 simple steps:
1). Go to a restaurant that serves cake.
2). Tell the waiter, “I’ll HAVE the cake.”
3). When the waiter brings the cake, EAT IT!
Who needs cake when you have buxom blondes?
In actuality, the word “have” in this context is intended to mean that you are KEEPING your cake, not consuming it. But who the hell would choose to do something as stupid as that?
Once you eat a cake, you can easily go buy another one. And if you get the recipe, you can always make it again. Plus, cake goes bad after a few days, so how long can you “have” it anyway?
There are definitely better ways to make the point that you can’t have the best of both worlds:
“You can’t have your Appletini and your manhood too.”
“You can’t have your Taco Bell and be regular too.”
“You can’t have your weed and remember things too.”
***Please add more to the comments.***