vinegredz 0 Posted September 4, 2019 Report Share Posted September 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 так как оно (вроде) не автоинкрементируемое. Link to comment Share on other sites More sharing options...
Кирилл 182 Posted September 4, 2019 Report Share Posted September 4, 2019 Поле ID практически во всех таблицах автоинкрементируемое, тем более у записей в Страницах. Link to comment Share on other sites More sharing options...
vinegredz 0 Posted September 4, 2019 Author Report Share Posted September 4, 2019 Допустим, но почему может при каждом запросе API создаваться запись с primary_id_field = 0. Счетчик просто не считает дальше. Я так же проверил, чтобы нумерация по этой колонке в базе была корректной и там действительно отсчет идет от 1 (как и в других таблицах). Есть идеи куда капать? Link to comment Share on other sites More sharing options...
Павел 143 Posted September 4, 2019 Report Share Posted September 4, 2019 @vinegredz, Вы создали две записи посредством API и у обеих колонка primary_id_field равна нулю? Link to comment Share on other sites More sharing options...
vinegredz 0 Posted September 4, 2019 Author Report Share Posted September 4, 2019 Да, верно. Пусть их будет хоть 10, все будут с primary_id_field = 0. Ковыряю сейчас таблицу. Link to comment Share on other sites More sharing options...
Павел 143 Posted September 4, 2019 Report Share Posted September 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 Link to comment Share on other sites More sharing options...
vinegredz 0 Posted September 4, 2019 Author Report Share Posted September 4, 2019 Да, ошибка в том, что по какой-то причине в таблице для поля primary_id_field было отключено auto_increment. Включил вручную, сделала колонку основной и все заработало. Спасибо! Link to comment Share on other sites More sharing options...
Павел 143 Posted September 5, 2019 Report Share Posted September 5, 2019 Рады были помочь. Поскольку проблема решена - закрываю тему. Link to comment Share on other sites More sharing options...
Recommended Posts