I would drop the lamb and fish for a few days and just have him on mash and boiled chicken – lots of little meals rather than big meals at a time.
Sounds as though he has eaten something that his tummy does not like or has a gastric bug. Either way only thing is to wait until it is out of his system.
Is he bouncy or got any hot spots? Nacho used to drive me crazy with upset stomachs when he was younger – I give him mash a couple of times a week and it keeps the upsets at bay. 😉