在laravel中创建列时声明默认值的正确语法是什么?我尝试了这个但是我遇到了很多错误。有人可以帮我找出这里的问题吗?
Schema::create('tbl_payroll_leave_schedulev2', function (Blueprint $table) {
$table->increments('payroll_leave_schedule_id');
$table->integer('payroll_leave_employee_id')->unsigned();
$table->foreign("payroll_leave_employee_id")->references("payroll_leave_employee_id")->on("tbl_payroll_leave_employee_v2")->onDelete('cascade');
$table->date('payroll_schedule_leave');
$table->integer('shop_id');
$table->time('leave_hours')->default(DB::raw('NOT NULL DEFAULT 00:00'));
$table->tinyInteger('leave_whole_day')->default('1');
$table->decimal('consume', 4, 2)->default('0.00');
$table->string('notes',255);
答案 0 :(得分:2)
您无法使用NOT NULL
功能设置default
。默认情况下,列不可为空。 leave_hours
列的正确语法如下:
$table->time('leave_hours')->default('00:00');
答案 1 :(得分:1)
尝试更改config / database.php文件中的行
'strict' => true
至'strict' => false
或使用useCurrent()
$table->time('leave_hours')->useCurrent();