不使用默认的时间created_at,updated_at 通过使用Laravel数据迁移创建的表,如果没有把语句 $table->timestamps()去掉,则会在数据库中增加两个列,一个是created_at,一个是updated_at,这两个字段一个会保存记录创建的时间,一个会自动保存,你更新记录的时间。但是有时候我们并不需要使用这两个字段。只要把 $table->timestamps()去掉就可以了,但是如果你没在模型里面设置的话,添加保存数据的时候,orm会帮你添加created_at,跟updated_at,这机会报错,找不到列了。我们只需要在模型里面添加一个属性即可。

首先,建模型

php artisan make:model Article

建完模型,默认会在app目录下生成Article.php文件,

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
		protected $timestamps = false;  //添加这句,保存的时候不会添加created_at,跟updated_at了
}

不使用默认的表名规则

Laravel 创建的模型名,默认对应的是该文件名的复数形式的表名,如上面的Article对应的表名默认是Articles,数据库建表,表名取名规则是需要语义话的,有些场景并不需要复数,我们也可以通过修改模型,来达到改变默认规则表名的需求,还是上面的例子,例如

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
		protected $table = 'article';  //  如果配置文件有前缀(例如时:v_),这边表示v_article,没有前缀就是article
}