vinegredz 0 Опубликовано 4 сентября, 2019 Жалоба Поделиться Опубликовано 4 сентября, 2019 Здравствуйте. Отправляю POST запрос на создание новой записи в базе данных. URL такого вида: https://site.com/api/cms/records/12? В ответ приходит такое: { "id": null, "title": "photo", "category": { "id": 24, "name": "Photos", "url": "https:\/\/site.com\/tools\/photos\/", "class": "IPS\\cms\\Categories12", "permissions": { "perm_id": 268, "perm_view": "4,6,2,3", "perm_2": "4,6,2,3", "perm_3": "4,6,3", "perm_4": "4,6,3", "perm_5": "", "perm_6": "", "perm_7": "" } }, } Как видите в ответе все корректно, кроме поля id, которое со значение Null. Когда смотрю напрямую в базу данных, то создается запись с primary_id_field = 0. Система обновлена до последней версии. Подскажите, пожалуйста, где и как присваивается id так как оно (вроде) не автоинкрементируемое. Ссылка на комментарий Поделиться на другие сайты Поделиться
Кирилл 191 Опубликовано 4 сентября, 2019 Жалоба Поделиться Опубликовано 4 сентября, 2019 Поле ID практически во всех таблицах автоинкрементируемое, тем более у записей в Страницах. Ссылка на комментарий Поделиться на другие сайты Поделиться
vinegredz 0 Опубликовано 4 сентября, 2019 Автор Жалоба Поделиться Опубликовано 4 сентября, 2019 Допустим, но почему может при каждом запросе API создаваться запись с primary_id_field = 0. Счетчик просто не считает дальше. Я так же проверил, чтобы нумерация по этой колонке в базе была корректной и там действительно отсчет идет от 1 (как и в других таблицах). Есть идеи куда капать? Ссылка на комментарий Поделиться на другие сайты Поделиться
Павел 148 Опубликовано 4 сентября, 2019 Жалоба Поделиться Опубликовано 4 сентября, 2019 @vinegredz, Вы создали две записи посредством API и у обеих колонка primary_id_field равна нулю? Ссылка на комментарий Поделиться на другие сайты Поделиться
vinegredz 0 Опубликовано 4 сентября, 2019 Автор Жалоба Поделиться Опубликовано 4 сентября, 2019 Да, верно. Пусть их будет хоть 10, все будут с primary_id_field = 0. Ковыряю сейчас таблицу. Ссылка на комментарий Поделиться на другие сайты Поделиться
Павел 148 Опубликовано 4 сентября, 2019 Жалоба Поделиться Опубликовано 4 сентября, 2019 По всей видимости вы меняли таблицу, т.к. она создаётся с автоинкрементом: "primary_id_field": { "allow_null": false, "auto_increment": true, "binary": false, "comment": "", "decimals": null, "default": null, "length": 11, "name": "primary_id_field", "type": "INT", "unsigned": false, "values": [ ], "zerofill": false }, Посмотрите структуру таблицы в phpmyadmin Ссылка на комментарий Поделиться на другие сайты Поделиться
vinegredz 0 Опубликовано 4 сентября, 2019 Автор Жалоба Поделиться Опубликовано 4 сентября, 2019 Да, ошибка в том, что по какой-то причине в таблице для поля primary_id_field было отключено auto_increment. Включил вручную, сделала колонку основной и все заработало. Спасибо! Ссылка на комментарий Поделиться на другие сайты Поделиться
Павел 148 Опубликовано 5 сентября, 2019 Жалоба Поделиться Опубликовано 5 сентября, 2019 Рады были помочь. Поскольку проблема решена - закрываю тему. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения