Extar93
@Extar93
Не нужны нам эти ваши интернеты

Объеденить 2 модели при выводе?

Есть 2 модели, обе модели отвечают за статьи на сайте, но по структуре в бд они разные. Надо вывести данные с двух моделей на одной странице, при работающей пагинации и сортировки по времени. Пытался объединить 2 массива, но судя по всему это не работает.
  • Вопрос задан
  • 126 просмотров
Решения вопроса 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
CREATE VIEW common AS
  SELECT CONCAT( 'A', id ) AS common_id, created_at, updated_at FROM articles
  UNION
  SELECT CONCAT( 'C', id ) AS common_id, created_at, updated_at FROM consultant_articles
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
Короче, есть два стула варианта:
1) Хороший, но долгий и муторный - рефакторинг. Переделать таблицы, разнести данные, навести порядок и красоту. Скорее всего это не ваш вариант, ну или придется сильно бодаться с владельцем.
2) Вынести в отдельную таблицу денормализованные данные, то есть айди, материал_айди, материал_тайп, дата. И после выборки уже извращаться на основе выборки из нее с материалами из 2 других таблиц. Если честно - хрень полная, но работать будет. Естественно, при добавлении новых сущностей надо будет еще туда добавлять записи.
Ответ написан
@jazzus
Конечно, только одна таблица. Для статей articles, для юзеров users, для ролей roles. Такое говнопроектирование оставлять нельзя. А заказчику объяснить, что без исправлений все последующие костыли и время-цена доработок будут по нарастающей.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы