As far as I know, La Liga doesn't have a cap on how many foreign players a team can have/play. Spain just have a very good system for developing youth. Plenty of good, Spanish players play for Spanish clubs. Buying English players is expensive for clubs, but developing them by comparison isn't. If the FA sort out the grassroots and the clubs that can afford to improve their youth facilities do so, then there is no reason we can't emulate the Spanish example.
Coaches with A, B and Pro qualifications; Germany - 37,000 Spain - 26,000 England - 2,000 It's not the only factor, but it's certainly one of them.