Духовность™
Продвинутый новичок
посоветуйте решение (ООП)
Есть класс User
Есть класс User_Mapper
В классе User жестко заданы атрибуты модели User, они же являются именами полей таблицы user в БД:
Что бы получить список объектов User, нужно вызвать определенный метод User_Mapper:
Каждый пользователь привязан к городам и странам, в полях town_id и country_id хранятся ID этих городов и стран. Есть соответственно таблицы стран и городов.
Нужно вывести список пользователей, с указанием страны и города. Так:
петя россия москва
ваня россия питер
Вот тут я не знаю как правильно с точки зрения ООП сделать. Какой слой должен отвечать за сцепление данных модели User и данных таблиц towns и countries?
Всё это хочется сделать одним запросом (не вытаскивая по отдельности данные User и данные территорий), но в таком случае "чистые" данные объекта User будут мешаться с т.н. справочниками, коими являются таблицы towns и countries.

Есть класс User
Есть класс User_Mapper
В классе User жестко заданы атрибуты модели User, они же являются именами полей таблицы user в БД:
PHP:
class User
{
$attr = array('id', 'user_name', 'town_id', 'country_id');
}
PHP:
$users_list = User_Mapper->getObjectList();
Нужно вывести список пользователей, с указанием страны и города. Так:
петя россия москва
ваня россия питер
Вот тут я не знаю как правильно с точки зрения ООП сделать. Какой слой должен отвечать за сцепление данных модели User и данных таблиц towns и countries?
Всё это хочется сделать одним запросом (не вытаскивая по отдельности данные User и данные территорий), но в таком случае "чистые" данные объекта User будут мешаться с т.н. справочниками, коими являются таблицы towns и countries.


