Laravel Voyager SQLSTATE[HY000]: общая ошибка: поле ‘id’ 1364 не имеет значения по умолчанию

#php #laravel #laravel-5 #voyager

#php #laravel #laravel-5 #voyager

Вопрос:

Я использую voyager в качестве панели администратора в своем бэкэнде, получая ошибку такого типа при создании BREAD

 SQLSTATE[HY000]: General error: 1364 Field 'id' doesn't have a default value (SQL:
insert into `data_types` (`name`, `display_name_singular`, `display_name_plural`,
`slug`, `icon`, `model_name`, `controller`, `policy_name`, `generate_permissions`,
`details`, `description`, `server_side`, `updated_at`, `created_at`) values (hdept,
Hdept, Hdepts, hdept, , AppHdept, , , 1, {"order_column":null, "order_display_column":null,
"order_direction":"asc", "default_search_key":null}, , 0, 2019-03-04 12:56:29,
2019-03-04 12:56:29))
  

модель (Hdept.php )

 namespace App;

use IlluminateDatabaseEloquentModel;

class Hdept extends Model
{
    protected $fillables = [ 'id'];
}
  

для ссылки на bread

Ответ №1:

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

Вы могли бы определить автоматически увеличивающийся идентификатор в вашей миграции:

 $table->increments('id');