171 похожих чатов

Господа, как в pdoResources отсортировать результаты по ТВ типа дата?

Вариант на скриншоте выдается ошибку
Could not process query, error #1064: 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 'AS DATETIME) ASC LIMIT 12' at line 1

37 ответов

18 просмотров

не потому что у тебя префикса нет tvPrefix => '' ?

Артур Шевченко💀
Нет

у тебя же просто поле date_end, а ты пишешь tv.date_end => ASC- вот о чем я, не надо префикс tv тут

Артур-Шевченко💀 Автор вопроса
Сергеевич Сергеевич
у тебя же просто поле date_end, а ты пишешь tv.dat...

А, ну да. Только всё равно порядок странный получается. Как будто не дата а строка

Артур-Шевченко💀 Автор вопроса
Сергеевич Сергеевич
тут уже зависит от того в каком виде в базе хранит...

Так-то да, но создавая ТВ типа дата ожидаешь что храниться будет оно как дата и сравниваться так же

Артур Шевченко💀
Так-то да, но создавая ТВ типа дата ожидаешь что х...

ага, только таблица для хранения значений tv одна и хранится все в поле value с типом данных mediumtext, а все остальное обрабатывает modx. Может есть какие-то варианты с доп параметрами, например STR_TO_DATE(date_end) => ASC

Артур Шевченко💀
Поколдую.

https://bezumkin.ru/sections/components/1754/ тут Василий писал про новуй версию pdoTools В новой версии эта проблема решается просто: нужно указать ТВ параметру тип "число", тогда при сортировке по нему данные будут приведены к типу DECIMAL. Заодно приведение типа будет и для ТВ "дата" - они отсортируются как DATETIME. Смотри логи запроса, как он формируется.

Артур-Шевченко💀 Автор вопроса
Сергеевич Сергеевич
https://bezumkin.ru/sections/components/1754/ тут...

В логах, что примечательно, написано AS DATETIME

Артур-Шевченко💀 Автор вопроса
Алексей Смирнов
решил?

Нет. Ещё не колдовал. На завтра отложил. Есть какие-то предложения?

Артур Шевченко💀
Нет. Ещё не колдовал. На завтра отложил. Есть каки...

да. я к тому что должно работать. без проблем. тогда завтра глянем ))))

Артур-Шевченко💀 Автор вопроса
Алексей Смирнов
да. я к тому что должно работать. без проблем. тог...

Я то же думаю что должно и пытаюсь понять, что же делаю не так. Завтра буду всё перепроверять.

Артур Шевченко💀
Я то же думаю что должно и пытаюсь понять, что же ...

ок. оставлю это тут на завтра: примерно так: http://joxi.ru/gmvvJykFq43wKm тип TV - дата.

Артур-Шевченко💀 Автор вопроса
Алексей Смирнов
ок. оставлю это тут на завтра: примерно так: http:...

В общем, я так и не понял почему сортировка по ТВ типа дата не работает. В логах видно что есть явное преобразование значения к типа DATETIME, но на порядке сортировки это никак не отражается. При этом я записал туже дату в стандартное поле unpub_date и всё отработало отлично.

Артур-Шевченко💀 Автор вопроса
Алексей Смирнов
а какая версия mysql ?

А где на modhost это посмотреть?

Артур Шевченко💀
В общем, я так и не понял почему сортировка по ТВ ...

ты уверен что даты у тебя верно записаны и вписаны вообще?

Артур-Шевченко💀 Автор вопроса
Алексей Смирнов
ты уверен что даты у тебя верно записаны и вписаны...

В том что они записаны уверен. Ну и наверное верно.

покажи как вызов выглядит сейчас?

Артур Шевченко💀
screenshot

а где unpub_date в includeTVs ?

Артур Шевченко💀
screenshot

ты мое поле подставил в sortBY... свое поставить нужно ой.... глаза замылились уже ))

Артур-Шевченко💀 Автор вопроса
Алексей Смирнов
а где unpub_date в includeTVs ?

Это стандартное поле, это не ТВ. Говорю же не работает ТВ

Артур Шевченко💀
Это стандартное поле, это не ТВ. Говорю же не рабо...

Были там какие то проблемы с этим, если не ошибаюсь из за того что тв даты хранится просто как текст

Артур Шевченко💀
А CAST разве не для преобразования?

Это да, просто помню на таком же кейсе похожая проблема была

Артур Шевченко💀
А CAST разве не для преобразования?

Если хочешь могу глянуть. просто у меня реально сортировка работает.

Артур Шевченко💀
А CAST разве не для преобразования?

А ты кстати пробовал подготовленный запрос напрямую в базе тестить?

Артур Шевченко💀
screenshot В том что они записаны уверен. Ну и наверное верно...

А как эта область редактирования будет выглядеть без tv поле ?

Роман 🐺
А как эта область редактирования будет выглядеть б...

https://docs.modx.pro/komponentyi/minishop2/interfejs/tovar#%D0%9E%D0%BF%D1%86%D0%B8%D0%B8-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта