Я работаю над прикладной системой в CakePHP. Каждая заявка содержит адрес и (только для Великобритании) почтовый индекс заявителя.
Клиент хочет иметь возможность назначать "области почтовых индексов" данному члену своей команды.
К сожалению, область почтового индекса различается по формату и длине - примеры: TA
, TQ1
, S60
, BS22
, TA6 4EJ
Пользователь хочет иметь возможность указывать целые области или более конкретные области для каждого пользователя, если требуется.
Мне нужно иметь возможность взять каждый prefix
и сравнить его с postcode
для каждого приложения и вернуть любые совпадения.
Пользователь Ross
управляет приложениями с почтовым индексом, начинающимся с: BQ
. BS
и S60
Пользователь Dave
управляет приложениями с полными почтовыми индексами: BS22 4JL
и TA6 7EJ
Я подумал, что лучше всего было бы иметь таблицу, полную пользовательских префиксов почтовых индексов:
id | prefix
1 | TQ
2 | TL
3 | S50
4 | S55
5 | TA6 4EJ
Каждому пользователю назначается область почтового индекса для управления.
Я думаю, что если я смогу сравнить каждый почтовый индекс приложения с каждым префиксом, я смогу получить все приложения в данной области почтового индекса, а затем найти пользователя, которому он принадлежит.
id | postcode
1 | tq33 abc
2 | TL5 8HA
3 | s50 11l
К сожалению, данные почтового индекса не представлены ни в одном стандартном / обычном формате; так что это может быть сложно.
Похоже, мне нужно JOIN
prefix
на почтовый индекс; но поскольку ключа нет, я не думаю, что это возможно.
Нет прямой связи между prefix
и postcode
. Чувствую, что я упускаю что-то фундаментальное
Есть указатели?