Страница 1 из 2
Нужна подсказка проверки в поле Сущность Аякс на пустоту
Добавлено: 05 июл 2022, 13:06
alcompstudio
Добрый день!
Есть поле Сущность Аякс (множественный выбор), которое используется для автоматизации связывания записей по MySQL запросу (конструкция условия там типа id in ([5098]) )
Если поле 5098 заполнено (хотя бы 1 значение), то автоматизация работает. Но если поле пустое, то вылетает ошибка MySQL. Я так понял, нужно добавить в условие проверку на "пустоту". Как правильно поставить проверку, какие операторы/функции в MySQL за это отвечают?
Пробовал
, но познаний не хватает, как правильно написать?
Re: Нужна подсказка проверки в поле Сущность Аякс на пустоту
Добавлено: 05 июл 2022, 15:04
alexinc
Может быть так:
id in ([5098]) and [5098] NOT NULL
Re: Нужна подсказка проверки в поле Сущность Аякс на пустоту
Добавлено: 05 июл 2022, 15:58
alcompstudio
alexinc писал(а): 05 июл 2022, 15:04
Может быть так:
id in ([5098]) and [5098] NOT NULL
тоже ошибка
Код: Выделить всё
Database 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 '89 NOT NULL' at line 1
Query: select e.id , ( (select ((func100.parent_item_id)) from app_entity_88 func100 where func100.id>0 and func100.id=e.parent_item_id limit 1) ) as field_5940, (e.parent_item_id) as field_5947 from app_entity_172 e where id in (84,89) and 84,89 NOT NULL
Page: /crm/index.php?module=items/&action=save&id=175&token=XEYdNvF48W
#0 includes/functions/database.php(87): mysqli_query(Object(mysqli), 'select e.id , (...')
#1 plugins/ext/classes/processes/link_records_by_mysql_query.php(50): db_query('select e.id , (...', false)
#2 plugins/ext/classes/processes/processes.php(1414): link_records_by_mysql_query->process(Array, Object(choices_values))
#3 plugins/ext/classes/processes/processes.php(46): processes->run(Array, false, true)
#4 modules/items/actions/items.php(210): processes->run_after_update(175)
#5 index.php(20): require('/var/www/stumpf...')
#6 {main}
Re: Нужна подсказка проверки в поле Сущность Аякс на пустоту
Добавлено: 05 июл 2022, 16:05
alexinc
alcompstudio писал(а): 05 июл 2022, 15:58
alexinc писал(а): 05 июл 2022, 15:04
Может быть так:
id in ([5098]) and [5098] NOT NULL
тоже ошибка
Код: Выделить всё
Database 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 '89 NOT NULL' at line 1
Query: select e.id , ( (select ((func100.parent_item_id)) from app_entity_88 func100 where func100.id>0 and func100.id=e.parent_item_id limit 1) ) as field_5940, (e.parent_item_id) as field_5947 from app_entity_172 e where id in (84,89) and 84,89 NOT NULL
Page: /crm/index.php?module=items/&action=save&id=175&token=XEYdNvF48W
#0 includes/functions/database.php(87): mysqli_query(Object(mysqli), 'select e.id , (...')
#1 plugins/ext/classes/processes/link_records_by_mysql_query.php(50): db_query('select e.id , (...', false)
#2 plugins/ext/classes/processes/processes.php(1414): link_records_by_mysql_query->process(Array, Object(choices_values))
#3 plugins/ext/classes/processes/processes.php(46): processes->run(Array, false, true)
#4 modules/items/actions/items.php(210): processes->run_after_update(175)
#5 index.php(20): require('/var/www/stumpf...')
#6 {main}
Возможно, я ошибся с синтаксисом - IS NOT NULL
Re: Нужна подсказка проверки в поле Сущность Аякс на пустоту
Добавлено: 05 июл 2022, 17:10
alcompstudio
тоже ошибка. Я подразумеваю, что таким образом проверяется число (могу ошибаться), т.к. если в поле одно значение - то работает без ошибок, а если ставлю 2 и более, то ошибка (в ошибке такой кусок кода "...and 84,89 NOT NULL...").
84 и 89 - это значения, помещенные в поле Сущность Аякс - оно множественное, и в БД хранятся через запятую. Возможно нужен другой "синтаксис" проверки на пустоту. Вот не могу понять, какой...

Re: Нужна подсказка проверки в поле Сущность Аякс на пустоту
Добавлено: 05 июл 2022, 17:26
alexinc
alcompstudio писал(а): 05 июл 2022, 17:10
тоже ошибка. Я подразумеваю, что таким образом проверяется число (могу ошибаться), т.к. если в поле одно значение - то работает без ошибок, а если ставлю 2 и более, то ошибка (в ошибке такой кусок кода "...and 84,89 NOT NULL...").
84 и 89 - это значения, помещенные в поле Сущность Аякс - оно множественное, и в БД хранятся через запятую. Возможно нужен другой "синтаксис" проверки на пустоту. Вот не могу понять, какой...
А тип поля какой? Если текстовый или около того, то можно так попробовать:
LENGTH(TRIM([5098])) > 0
Re: Нужна подсказка проверки в поле Сущность Аякс на пустоту
Добавлено: 05 июл 2022, 19:47
alcompstudio
alexinc писал(а): 05 июл 2022, 17:26
alcompstudio писал(а): 05 июл 2022, 17:10
тоже ошибка. Я подразумеваю, что таким образом проверяется число (могу ошибаться), т.к. если в поле одно значение - то работает без ошибок, а если ставлю 2 и более, то ошибка (в ошибке такой кусок кода "...and 84,89 NOT NULL...").
84 и 89 - это значения, помещенные в поле Сущность Аякс - оно множественное, и в БД хранятся через запятую. Возможно нужен другой "синтаксис" проверки на пустоту. Вот не могу понять, какой...
А тип поля какой? Если текстовый или около того, то можно так попробовать:
LENGTH(TRIM([5098])) > 0
Тип поля Сущность аякс, да еще и множественный) в нем нужно проверять пустоту
Re: Нужна подсказка проверки в поле Сущность Аякс на пустоту
Добавлено: 05 июл 2022, 21:19
Antonyous99
84 и 89 - это значения, помещенные в поле Сущность Аякс - оно множественное, и в БД хранятся через запятую.
Попробуйте
Да, блин, почему нельзя просто:
Re: Нужна подсказка проверки в поле Сущность Аякс на пустоту
Добавлено: 06 июл 2022, 12:18
alcompstudio
Antonyous99 писал(а): 05 июл 2022, 21:19
84 и 89 - это значения, помещенные в поле Сущность Аякс - оно множественное, и в БД хранятся через запятую.
Попробуйте
Да, блин, почему нельзя просто:
Не получается... тоже ошибку выдает. Я уже не знаю, как включить проверку на пустоту, пробовал и так:
Код: Выделить всё
id in ([5098]) and REPLACE([5098],',','')>0
и
работают примерно одинаково, за исключением id in ([5098]) - со всеми значениями в поле, FIND_IN_SET(id,[5098]) - почему-то только с одним значением, если 2 и более - ошибка.
И оба варианта не работают с "пустым" полем - ошибка получается.
Re: Нужна подсказка проверки в поле Сущность Аякс на пустоту
Добавлено: 06 июл 2022, 12:41
support
Попробуйте с одинарными кавычками