Как выгрузить записи по ближайшим городам определенного радиуса?
1) использовать яндекс АПИ, чтобы конвертировать адрес в координаты. (геокодер) проходим по бэкенду и конвертируем адреса. потом конвертируем уже при добавлении нового мероприятия. Заметьте, это раньше нарушало лицензионное соглашение яндекса. 
2) Смотрим в сторону POINT.  Наблюдаем за  Spatial index если данных/пользователей много(mysql 5.7.19+) 
3) читаем доки по гис функциям. ST_Distance_Sphere . В yii2 есть пара библиотек для работы с point. 
4) грубо вычисляем город пользователя и координаты - ip-api.com 
5) точно вычисляем место пользователя, используя гугл мапс и систему определения локации. работает точнее, но заморочек больше. 
По сути, если что-то не получается, можно ограничиться конвертацией адресов в координаты, использовать не радиус, а квадрат вокруг пользователя, пусть даже не точный.
Скорее всего нужно юзать js, или дописывать базу с городами с полем "радиус" и это поле должно иметь значение которое откуда-то отсчитывается ( например у вас есть магазин и это 0, а от него ведете отсчет до складов и у складов будет значение радиуса равно расстоянию от магазина до склада ), но это путь со статичной точкой, для не статичной я бы использовал js.