Чем? Я привел пример с комментарием... Я скрываю статью, поэтому мне нужно будет скрыть и комментарии к ней (чтобы они не были видны в блоке "последние комментарии"), лайки к комментариям и т.д.? Чтобы все это было не видно в других модулях. Выходит что запросы обрастут кучей where и join только для проверки не скрыта ли статья...
Алексей Бурлака: Я прямо вижу по первой строчке твоего профиля... советчик...
Разрабатываю и обслуживаю сайты на Битрикс: "дописать", "допилить", "переделать", "разработать функционал".
Ну получается, что пагинация у меня и так в отдельном модуле (функции). Но для того, чтобы получить скажем первые 20 новостей, мне нужно передать значение 20 в класс News, с помощью метода setLimit(20). Тоже самое происходит и с остальными методами... например передача текущей страницы также нужна для вывода этих первых 20 новостей. setPage(1)
ID на самом деле и хранится в отдельной таблице. (обновил запрос в вопросе до актуального) но два вложенных запроса это наверное накладно получится для БД?
если кто-то будет это читать...
Поправлю пример, который Fuze привел во втором комментарии:
Вместо INNER JOIN нужен LEFT JOIN. Иначе не найдет никаких данных
Fuze: спасибо! А новые записи в эту таблицу добавлять на этапе добавления записей в остальные?
И еще один вопросик пожалуйста... На стороне php проверять из какой таблицы конкретная запись, стОит по какому-то полю, которое есть в одной таблице но нет в другой? Вроде if(is_null($row['one_id'])) // значит это вторая таблица
Теперь я совсем запутался ))
просто не так давно задавал вопрос по этому поводу и мне посоветовали делать разными запросами и совмещать их...
Вот есть у нас таблица `agregate` у нее поля `target` (таблица) и `target_id` (id в таблице)
как в таком случае составить запрос? У меня не получается определить таблицу, которую присоединять.
SELECT agregate.* FROM `agregate` LEFT JOIN ????? ON svyazi.`target_id` = ?????.`id`
Получается такой запрос... Но что подставлять на место вопросиков? Логично подставить значение поля agregate.`target` в котором хранится название таблицы которую хотим приджойнить... но как?