一个菜鸟问题: 我没有成功更改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',
// ];
}
答案 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一样自行创建它们。