菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
3374
2

有时候我们在一个已有的数据库上使用Laravel进行开

原创
05/13 14:22
阅读数 1303

有时候我们在一个已有的数据库上使用 Laravel 进行开发,通常表的创建和更新时间的字段名并不是created_atupdated_at,也有时候只有一个创建时间而没有更新时间,那么我们在数据模型定义的时候该怎么处理呢?

这里提供两种方法。

第一种、重写常量(推荐)

class User extends Eloquent {

    const CREATED_AT = 'post_date';
    const UPDATED_AT = 'post_modified';

}

这样子 getCreatedAtColumn 和 getUpdatedAtColumn 就会对应的返回 post_date 和 post_modified 字段了。而更新的时候,也会使用新的字段名称。

第二种、模型事件

class User extends Eloquent {

    public $timestamps = false;

    public static function boot()
    {
        parent::boot();

        static::creating(function ($model) {
            $model->created = $model->freshTimestampString();
        });

        static::updating(function ($model) {
            $model->updated = $model->freshTimestampString();
        });
    }

}

发表评论

0/200
3374 点赞
2 评论
收藏
为你推荐 换一批