Каков правильный способ реализации значений по умолчанию для моделей Eloquent?
Я настроил таблицы базы данных, используя миграции Laravel. В некоторых столбцах указаны значения по умолчанию. При использовании этих таблиц в сочетании с моделями Eloquent в зависимости от выбранного драйвера базы данных происходят разные вещи:
В MySQL при создании новой модели и ее сохранении вставляется строка DB со значением по умолчанию для каждого атрибута, явно не указано. Это то, что я хотел бы совершить.
В Postgres и SQLite, однако, это не тот случай. PDOException брошен:
[PDOException]
SQLSTATE[23502]: Not null violation: 7 ERROR: null value in column "some_column" violates not-null constraint
DETAIL: Failing row contains (1, 2, 3, 4, 5, 6, null, null, null, null, null, null, 7, 8, null, 9, null, null, 10, 11, 12, null).
Это для меня ясно, что столбец не обнуляемый и что нулевые значения не принимается. Однако я ожидал бы, что значение по умолчанию было вставлено вместо поднятой ошибки.
Какой тип данных является той переменной в вашей миграции? – lewis4u
@ lewis4u Это 'tinyInteger'. –