Cakephp 3 с SQL Server 2012 - PullRequest
       13

Cakephp 3 с SQL Server 2012

0 голосов
/ 20 апреля 2019

Я пишу RESTful API с использованием cakephp 3.6 для SQL Server 2012. Некоторые API созданы и работают нормально.

Но, к сожалению, не за одним столом. Эта таблица имеет первичный ключ, но ее значение не увеличивается автоматически. Когда я присваиваю его значение API, генерируется ошибка

SQLSTATE [23000]: [Microsoft] [Драйвер ODBC 11 для SQL Server] [SQL Server] Невозможно вставить значение NULL в столбец «Id», таблица «AccountsLive.dbo.Books»; столбец не допускает пустых значений. Вставить не удается

Я не могу сохранить его первичный ключ автоматически увеличенным.

Когда я создаю вид, чтобы добавить его из браузера. Это не создает поле для Id field. Затем я пытаюсь создать поле ввода для поля Id, оно не будет отображаться в форме ввода книг.

Пожалуйста, помогите мне решить эту проблему, я буду вам благодарен.

1 Ответ

0 голосов
/ 20 апреля 2019

Предполагается, что ваши столбцы идентификаторов будут автоматически увеличиваться. Если есть веская причина (*), почему вы не можете сделать это здесь, вам нужно добавить поле ввода (как вы нашли), а также добавить его в список _accessible в Book сущность.

(*) Количество ситуаций, когда ваш столбец идентификатора не имеет автоматического увеличения (а не UUID) имеет смысл, действительно очень мало. Будьте уверены, что это действительно относится к вам, так как это перекладывает всю ответственность за избежание перезаписи записей из-за дублирования на вас вместо базы данных.

...