Database Laravel迁移,列类型年份
我想要一个列来存储年份。现在我正在使用Database Laravel迁移,列类型年份,database,laravel,migration,Database,Laravel,Migration,我想要一个列来存储年份。现在我正在使用 $table->unsignedInteger('year')->default('1900'); 但是,这允许像5和19这样的数字。我想强制使用四位数字,比如1992 建议?在laravel文档中,您可以在迁移文件中执行此操作 $table->year('year'); 您可以使用: $table->integer('year', 4); 记住使用:如果你想的话 在单个命令中回滚和迁移 php artisan migr
$table->unsignedInteger('year')->default('1900');
但是,这允许像5
和19
这样的数字。我想强制使用四位数字,比如1992
建议?在laravel文档中,您可以在迁移文件中执行此操作
$table->year('year');
您可以使用:
$table->integer('year', 4);
记住使用:如果你想的话
在单个命令中回滚和迁移
php artisan migrate:refresh
或者删除所有表并迁移
php artisan migrate:fresh
最简单的解决方案是将字段保存为日期。 使用碳 然后将日期和月份值设置为01,得到全年值,
这样,您就可以使用$date->year获得完整的年份。好的,我将其设置为
year
类型,但问题仍然存在。它仍然收到5
或19
您是否刷新了迁移?尝试将默认值设置为2000并检查,在您说它不起作用后我尝试了,但它确实将2000设置为默认值,仍然相同。列类型year
本身并不错误,因为year5
或19
是有效的年份。我想我想要的是将最小年份设置为1000
,这样它就不会收到比我尝试的更低的值,迁移时给了我一个多主键错误:\n所以,尝试使用php artisan migrate:Fresh我做到了,仍然一样。我想我会把它做成一个year
类型,并验证代码中的输入