Laravel5:如何在迁移中使用时间戳字段

时间:2016-08-18 06:18:48

标签: php laravel-5

我试图通过迁移放置一张表,这就是我坚持的原因:

我需要以下内容:

$table->timestamps('added_on');

而不是强制进入表格的created_atupdated_at,即使我没有在模式中提及它们。

2 个答案:

答案 0 :(得分:2)

timestamps()方法正在添加 created_at updated_at 列。您需要的是timestamp()(没有 s ),它接受时间戳列名称作为参数。

$table->timestamp('added_on');

答案 1 :(得分:0)

添加自己制作的唯一时间戳;您所需要做的只是调用$table->timestamp()方法,将field_name传递给您:added_on。那么,现在;假设您有一个名为“TestTable”的迁移。以下是您的迁移文件的外观:

<?php


    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Database\Migrations\Migration;

    class TestTable extends Migration {


        public function up() {
            // Create table for storing roles
            Schema::create('table_name', function (Blueprint $table) {
                $table->increments('id');
                $table->string('field_1')->unique();
                $table->string('field_2');
                $table->string('field_3');

                // THE COMMENTED LINE BELOW ADDS THE 
                // "created_at" & "updated_at" FIELDS IN DB
                // $table->timestamps();        //<== ADDS GENERIC TIMESTAMPS

                // NOW TO ADD YOUR OWN UNIQUE DATE-BASED/TIMESTAMP FIELD,
                // ALL YOU NEED DO IS:::
                $table->timestamp("added_on");  //<== ADD YOUR DATE/TIME FIELD

            });
        }
    }