lareval重命名created_at和updated_at字段

一、总结

一句话总结:

要改变created_at和updated_at的名称,模型和数据迁移里面都需要改变
在模型中指定数据类型之后,运行迁移文件created_at和updated_at的格式还是datatime格式,说明:php artisan migrate执行数据迁移的时候,并不会去找数据迁移所对应的模型

1、模型中如何修改created_at和updated_at的名称?

const CREATED_AT = 'to_created_at';
const UPDATED_AT = 'to_updated_at';

2、模型中如何修改created_at和updated_at的格式为int(10)格式?

protected $dateFormat = 'U';

#此属性决定插入和取出数据库的格式,默认datetime格式,'U'是int(10)
protected $dateFormat = 'U';
//如果不设置,无论存储格式是datetime还是int,则取出时是Carbon对象
//Carbon对象返给前端时自动变为datetime字符串,后端谨慎处理

二、lareval重命名created_at和updated_at字段

1、模型

 <?php

 namespace App\Model\Admin;

 use Illuminate\Database\Eloquent\Model;

 class TestOrm extends Model
{
//
protected $primaryKey='to_id';
protected $guarded=[]; const CREATED_AT = 'to_created_at';
const UPDATED_AT = 'to_updated_at'; #此属性决定插入和取出数据库的格式,默认datetime格式,'U'是int(10)
protected $dateFormat = 'U';
//如果不设置,无论存储格式是datetime还是int,则取出时是Carbon对象
//Carbon对象返给前端时自动变为datetime字符串,后端谨慎处理
}
 

2、数据迁移

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration; class CreateTestOrmsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('test_orms', function (Blueprint $table) {
$table->increments('id');
$table->integer('to_created_at');
$table->integer('to_updated_at');
//$table->timestamps(); //用timestamps的话字段名和字段格式都会不正确
//php artisan migrate执行数据迁移的时候,并不会去找数据迁移所对应的模型
});
} /**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('test_orms');
}
}

用$table->timestamps();的话:
用timestamps的话字段名和字段格式都会不正确
模型中指定了格式,格式错误说明:php artisan migrate执行数据迁移的时候,并不会去找数据迁移所对应的模型

3、数据库

lareval重命名created_at和updated_at字段-LMLPHP

4、控制器中操作


$ans=TestOrm::create([]); 取
$ans=TestOrm::get(); dd($ans);
 
05-16 02:16