Переопределение имен по умолчанию временных меток Laravel, не имеющих никакого эффекта - PullRequest
2 голосов
/ 15 марта 2019

Я пытаюсь переопределить имена по умолчанию временных меток Laravel для конкретной таблицы, но, похоже, это никак не влияет.

Я обновил свою модель:

/**
 * The name of the "created_at" column.
 *
 * @var string
 */
const CREATED_AT = 'CreatedAt';



/**
 * The name of the "updated_at" column.
 *
 * @var string
 */
const UPDATED_AT = 'UpdatedAt';

Обновлена ​​миграция:

    ...
    $table->integer( 'UpdatedBy' )->nullable();
    $table->timestamps();
});

Я запускаю миграцию, проверяю результаты в своей базе данных и обнаруживаю, что поля не изменились:

...
| UpdatedBy             | int(11)          | YES  |     | NULL                                    |                |
| created_at            | timestamp        | YES  |     | NULL                                    |                |
| updated_at            | timestamp        | YES  |     | NULL                                    |                |
+-----------------------+------------------+------+-----+-----------------------------------------+----------------+

Возможно, я что-то пропустил?

1 Ответ

1 голос
/ 15 марта 2019

Если вы отметите Illuminate\Database\Schema\Blueprint, вы должны это видеть.

public function timestamps()
{
    $this->timestamp('created_at')->nullable();

    $this->timestamp('updated_at')->nullable();
}

Если вы не хотите менять столбцы created_at и updated_at, тогда вы можете использовать

...
    $table->integer( 'UpdatedBy' )->nullable();
    $table->timestamp(CorrespondModel::CREATED_AT)->nullable();
    $table->timestamp(CorrespondModel::UPDATED_AT)->nullable();
});

или напрямую создайте новые имена

...
    $table->integer( 'UpdatedBy' )->nullable();
    $table->timestamp('CreatedAt')->nullable();
    $table->timestamp('UpdatedAt')->nullable();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...