Laravel 5.6更改时间戳

时间:2018-09-09 15:06:42

标签: php laravel eloquent

一个菜鸟问题: 我没有成功更改Laravel中的时间戳。我什至进入Model.php来更改时间戳,但仍然没有成功。希望有人可以指导我。我想将时间戳更改为:

const CREATED_AT ='creation_date';

const UPDATED_AT ='last_update';

下面是我的模型:

eval

我的迁移如下:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Events extends Model
{

    const CREATED_AT = 'creation_date';
    const UPDATED_AT = 'last_update';

    public function event_type(){
        return $this->belongsTo('App\EventsType');
    }


    public function time(){
        $this->hasMany('App\Time');
    }

    // protected $fillable = [

    //     'name', 'description','date_of_event','location','is_Active',

    // ];

}

2 个答案:

答案 0 :(得分:2)

Laravel自动提供时间戳管理 您只需要在模式创建方法的末尾添加该内容

$table->timestamps();

这将为您提供表'created_at'和'updated_at'中的两列。他们是自我解释。在您创建或更新任何记录时会自动对其进行管理。

如果您要自己管理时间戳,则

$table->datetime('creation_date');
$table->datetime('last_update');

在这种情况下,您必须在创建或更新记录时手动填写这些值。

希望这可以清除您的概念。

答案 1 :(得分:0)

timestamps()创建两个DATETIME列来存储时间戳。创建的列的名称将是默认名称(created_at和updated_at)。

如果您需要自定义时间戳列,则必须像已经提到的samo一样自行创建它们。