- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Насколько я понял из стартпоста - проблема, грузить ли все связи сразу или по запросу полей. Для этого есть термины lazy load, eager load, насколько я в курсе. Мне кажется, что это надо сделать конфигурируемым, а то если вытаскивать всегда и всё - есть риск за один запрос какого-нито пользователя всю базу вытащить.
Когда создавал тему я не понимал как сделать модели связей. Сейчас у меня есть понимание, так как я долго сидел над листком бумаги, прорисовывал разные варианты, затем проверял свои теории делая тестовые таблицы и запросы, процедуры и функции. Сейчас у меня есть чёткое понимание, что и как будет работать, дело как говорится за малым, осталось только это реализовать в коде.
Итак, пока опишу словами как у меня сделано и как собираюсь сделать для связей таблиц(сущностей).
Есть класс данных(Data) через который указываются источник данных, параметры отбора данных, производится загрузка данных. Все данные находятся этом классе в виде массивов. Для работы с данными нужно получить сущность $Entity=$data->alias; где $Entity - объект сущности с которым далее можно работать, а alias - это наименование сущности. Работа с сущностью простая, для получения свойства $Entity->svoystvo, для изменения $Entity->svoystvo='значение' и тд. Система всю работу с базой будет делать сама, изменять, удалять и тд.
Теперь как я сделаю чтобы связать сущность с другими таблицами. Для связи с какой либо таблицей добавляется поле с определённым типом, ограничениями и тд. Для связи многие ко многим я буду использовать нестандартный подход, который тестировал с применением процедуры, созданием динамически запроса и работой с JSON данными. В коде можно вызвать функцию и увидеть маршруты всех связей данной сущности. Затем перед получением данных указывается пути к нужным данным, система загружает эти данные, далее с ними можно работать как описано выше. Если в сущности будут произведены изменения, то эти изменения будут отражены и в базе данных. При необходимости можно подгружать данные как выше было сказано про ленивую загрузку.
Что конкретно требуется от форумчан?
Уже ничего. Бывают моменты кода не знаешь как что сделать. Напишешь публично на форуме о своей боли и через некоторое время проблемы волшебным образом решаются.
ЗЫ. Удивительно, но это работает. Спасибо всем, что отвечаете, пусть не по теме и далеко от сути вопроса, всё же это помогает сдвинутся и идти дальше. Sly32, извини, хотелось бы чтобы своими мозгами зашевелил, конструктивного общения и обсуждения вариантов решения, а не отсылки на уже готовые, в моём случае не интересные решения. Так как у меня тоже есть инет и я тоже умею гуглить...