Решено: Теги: сортировка по полю из таблицы 'topic'
По-умолчанию, в LS сортировка при выборке по тегу выполняется по полю topic_id таблицы topic_tag.
Хочу сделать сортировку по одному из полей таблицы topic (у меня там дополнительное поле).
Подскажите, пожалуйста, какой из способов будет оптимальным:
1. Выполнить сортировку полученного массива $data в методе GetTopicsByTag модуля Topic
2. Изменить (переопределить или наследовать) сортировку в методе GetTopicsAdditionalData модуля Topic?
Подскажите, пожалуйста, как правильно составить SQL запрос для метода
Маппера топиков.
В оригинале (сортировка по ID)
Пытаюсь сделать сортировку по полю topic_real_date (доп. поле) таблицы topic:
Но выдает ошибку:
Возможно, кто-то подскажит правильный вариант?
Хочу сделать сортировку по одному из полей таблицы topic (у меня там дополнительное поле).
1. Выполнить сортировку полученного массива $data в методе GetTopicsByTag модуля Topic
2. Изменить (переопределить или наследовать) сортировку в методе GetTopicsAdditionalData модуля Topic?
Подскажите, пожалуйста, как правильно составить SQL запрос для метода
public function GetTopicsByTag($sTag,$aExcludeBlog,&$iCount,$iCurrPage,$iPerPage)
Маппера топиков.
В оригинале (сортировка по ID)
$sql = "
SELECT
topic_id
FROM
".Config::Get('db.table.topic_tag')."
WHERE
topic_tag_text = ?
{ AND blog_id NOT IN (?a) }
ORDER BY topic_id DESC
LIMIT ?d, ?d ";
Пытаюсь сделать сортировку по полю topic_real_date (доп. поле) таблицы topic:
$sql = "
SELECT
t1.topic_id
FROM
".Config::Get('db.table.topic_tag')." AS t1
LEFT JOIN
".Config::Get('db.table.topic')." AS t2
ON t1.topic_id = t2.topic_id
WHERE
t1.topic_tag_text = ?
{ AND t1.blog_id NOT IN (?a) }
ORDER BY t2.topic_real_date DESC
LIMIT ?d, ?d ";
Но выдает ошибку:
SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE t1.topic_tag_text = 'Карибский кризис' ' at line 8 at /xxxxx/plugins/xxxxx/classes/modules/topic/mapper/Topic.mapper.class.php line 341
Возможно, кто-то подскажит правильный вариант?
2 комментария