Помогите разобраться с FIND_IN_SET
Всем доброго времени суток!
Решил научиться выводить и сортировать ресурсы MODX, для этого воспользовался инструкцией modx.pro/development/3144-a-couple-of-tricks-with-xpdo/, встала задача отсортировать ненужные ресурсы по тегам, теги хранятся в поле from_city через разделитель «Запятая». Но как правильно составить запрос не пойму. Помогите разобраться)
Поле from_city не ТВ и было добавлено с помощью плагина modx.pro/solutions/7037-expanding-any-table-modx/
На данный момент все выглядит так и результат нулевой:
Решил научиться выводить и сортировать ресурсы MODX, для этого воспользовался инструкцией modx.pro/development/3144-a-couple-of-tricks-with-xpdo/, встала задача отсортировать ненужные ресурсы по тегам, теги хранятся в поле from_city через разделитель «Запятая». Но как правильно составить запрос не пойму. Помогите разобраться)
Поле from_city не ТВ и было добавлено с помощью плагина modx.pro/solutions/7037-expanding-any-table-modx/
На данный момент все выглядит так и результат нулевой:
$param['parent'] = 6;
$param['where'] = ["1 = 1 AND FIND_IN_SET('Москва', from_city)"];
$params = array_diff($param, array(''));
$q = $modx->newQuery('modResource', $params);
$q->limit(1000);
$q->prepare();
$q->stmt->execute();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($res as $v) {
echo $v['modResource_pagetitle'];
} Комментарии: 29
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
1) Нужно править карту modResource. Mysql знает о новой колонке, а modx нет.
2) При обновлении все затрется (я о карте говорю)
3) Для Вашей задачи есть ТВ
Выводит SQL, залезаете в phpmyadmin — тестируете, скорее всего неправильно составлен SQL запрос
echo $q->toSql() сюда
если с помощью LIKE фильтровать то я делал так
Ничего не может не вывести, там toSQL, у меня выводит:
У Вас теги полные, или частичные. По точному совпадению — запятые, по частичному — запятые не нужны
Заносите теги в кавычки, будет Вам счастье…
Разумеется, в базе все значения в кавычках храните
?
Пример привести можете?