pdoTools и JSON поля
В СУБД Mysql 5.7 есть оченннь крутой функционал работы с JSON данными
dev.mysql.com/doc/refman/5.7/en/json.html
Вот видео, стартует с самого интересного
Интересует больше запросы типа WHERE по json
Пример:
Столбец
dop_parms в mysql у таблицы *_site_content, т.е. объект modResource
JSON
При вызове чтобы в where(или можно создать отдельный параметр wherejson) можно было указать поиск например по полю show_main
pdoTools насколько я понял не поддерживает поиск по json, или я не правильно думаю?
У кого есть идеи или решения как выкрутиться в таких ситуация?
p.s. Супер было бы если бы Василий добавил поддержку это фичи mySql, я думаю это отличная фича
dev.mysql.com/doc/refman/5.7/en/json.html
Вот видео, стартует с самого интересного
Интересует больше запросы типа WHERE по json
Пример:
Столбец
dop_parms в mysql у таблицы *_site_content, т.е. объект modResource
JSON
{"web":{"show_main":"1","new":"1","discount":"0"}}При вызове чтобы в where(или можно создать отдельный параметр wherejson) можно было указать поиск например по полю show_main
{'!pdoPage' | snippet :[
'tpl' => 'product',
'parents' =>2,
'wherejson' => 'dop_parms[show_main] = 1' // просто набросал для понимания (не по синтаксису)
]}pdoTools насколько я понял не поддерживает поиск по json, или я не правильно думаю?
У кого есть идеи или решения как выкрутиться в таких ситуация?
p.s. Супер было бы если бы Василий добавил поддержку это фичи mySql, я думаю это отличная фича
Комментарии: 12
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Попробовал разные варианты, но более осмысленный тоже не работает:
В showLog, а точнее в запросе, отсутствует JSON_CONTAINS
Нашел другой формат, намного проще и приятнее на вид. Ссылочка
В начале указывается колонка в которой ищешь, а потом по иерархии идем до нужного поля.
В консоли запрос отрабатывает на ура
А в pdo к сожалению нет…
Похоже, без Василия не заведется шарманка
Я полгода назад послал PR, чтобы можно было расширять этот список, но меня послали в ответ.
В вашем случае, вы подсовываете просто строку. xPDO ломается при разборе фигурных скобок.
Напишу им, ибо очень нужная штука.
Спасибо Сергей!
Для решение задачи:
Напишу сниппет с чистым sql который будет возвращать id ресурсов и буду передавать его в pdoResources
Если мой английски меня не подводит, он пишет про MODX3 в котором типа все будет, но модх3 мы получим в каком нибудь 2050 году… И то что хер они поддержут в модх 2.7 эти JSON функции
Пытаюсь, чтобы Ваш PR приняли или хотяб json функции.
Судя по ответу, человек вообще не понимает, что от него просят. Про какую-то 2.7 пишет, про возможность сохранять JSON, про то, что новые функции могут не работать. Он даже не понял, что PR не функции добавляет, а возможность разработчику самому указывать нужные функции. В общем, ещё один привет этим разработчикам.
В этом ключе забавно слушать призывы активнее участвовать в разработке и поддержке MODX. Для чего? Чтобы тебя вот так отбривали?
П.С. С Ларавел, кстати, другая крайность. Каждые полгода выходит новая версия, часто несовместимая с предыдущей. Соответственно и дополнения нужно подгонять для новой версии.
Тоже не совсем понял про какие версии он пишет. Он вообще пишет «MySQL version of 2.6» — это из какого века человек?
Она наверно даже не зашел по ссылке по JSON поля.
Ого, я в будущем планировал за него зацепится, но видать не стоит.
Противоречат сами себе или мы не обладаем достаточным авторитетом чтобы чего-то там советовать. Зазнались наверно…
Приходится велосипедить теперь, писать чистые sql, получать id ресурсов и передавать в pdoPage…
Еще раз напишу, попробую донести до него или пойду выше другим писать — ибо нехер.
У меня была мысль прикрутить Doctrine или Eloquent вместо xPDO (в смысле сделать пакет). Но тут должен быть запрос общества и готовность это использовать. А делать, чтобы просто было, желания нету. Поэтому отказался. А у этих ORM возможности куда круче. И безопасные и гибкие. Как минимум не надо никаких схем — создал таблицу, класс и юзай сразу же.
Красота
Сразу Джейсону (opengeek) — чё за дела, бро? :)