(0) проверять надо в запросе: левое соединение с таблицей оснований и если NULL то ссылка битая. Любые проверки в последующей выборке медленнее в разы, потому как запрос в цикле.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн