But what else can we do op?
We can't refuse to take in people emigrating from other EU countries. It would do us no good to do so, since the number of British citizens in the EU (like my cousin who lives in Denmark) is roughly equal to the number of EU citizens in the UK from other countries.
If you mean refugees, then I can't see how in good conscience we can turn them away. We are now bombing Syria, the population of which has halved and now stands at 6.5 million, we are bombing Iraq, and have 'finished' a war in Afghanistan.
Regardless of our motivations in these conflicts, the result is refugees. No one is going to stay in a war torn country and risk their kids getting killed, so those people are now refugees. If we caused them to leave their country, regardless of why, they are our responsibility.
Yet we take a tiny fraction of the refugees we have caused- poverty stricken Lebanon has taken over 1 million.
I agree with you we don't have enough jobs or homes, but that is the fault of this and previous governments. We need real investment in jobs (preferably renewables, £3.1 billion subsidy cut this year), and at least 250,000 new homes a year for the next 5 years. Not luxury dwellings built on floodplains by developers to make a quick buck, but social and affordable private houses which are eco friendly and built somewhere which won't flood.
Asking the question you have asked absolves those really responsible-the government- from any obligation to provide jobs, homes, or a stable and prosperous economy. It gives them an out to blame migrants for pressure on services, when in fact we would be able to cope with much more migration if our services weren't wholly inadequate.