Laravel Voyager SQLSTATE [HY000]:常规错误:1364字段“ id”没有默认值

时间:2019-03-04 13:01:14

标签: 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, , App\Hdept, , , 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 Illuminate\Database\Eloquent\Model;

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

for bread refernce

1 个答案:

答案 0 :(得分:2)

这只是意味着您在插入新记录时需要为id指定值,或者需要在表定义中提供默认值。

您可以在迁移中定义一个自动递增的ID:

$table->increments('id');