数据类型设置默认值Laravel

时间:2017-11-09 08:02:11

标签: php sql laravel

在laravel中创建列时声明默认值的正确语法是什么?我尝试了这个但是我遇到了很多错误。有人可以帮我找出这里的问题吗?

enter image description here

这是表的预期输出 enter image description here

  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);

2 个答案:

答案 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();