【问题标题】:Data types set a default value Laravel数据类型设置默认值 Laravel
【发布时间】:2017-11-09 08:02:10
【问题描述】:

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

【问题讨论】:

  • 你能分享一下many errors吗?
  • @user2486 我把错误的图片放了
  • @user2486 我添加了架构的预期表。
  • 默认情况下,列将是NOT NULL,因此只需将leave_hours 列的默认函数设置为00:00

标签: php sql laravel


【解决方案1】:

尝试更改 config/database.php 文件中的行

'strict' => true'strict' => false

或使用useCurrent()

$table->time('leave_hours')->useCurrent();

【讨论】:

【解决方案2】:

您不能使用default 函数设置NOT NULL。默认情况下,列不可为空。 leave_hours 列的正确语法如下:

$table->time('leave_hours')->default('00:00');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-24
    • 2020-09-06
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 2020-05-30
    相关资源
    最近更新 更多