禁用 Laravel 的 Eloquent 时间戳

Disable Laravel#39;s Eloquent timestamps(禁用 Laravel 的 Eloquent 时间戳)
本文介绍了禁用 Laravel 的 Eloquent 时间戳的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在将我们的一个 Web 应用程序从 CodeIgniter 转换为 Laravel.然而,此时我们不想将 updated_at/created_at 字段添加到我们所有的表中,因为我们有一个日志类可以更深入地完成所有这些工作已经.

I'm in the process of converting one of our web applications from CodeIgniter to Laravel. However at this moment we don't want to add the updated_at / created_at fields to all of our tables as we have a logging class that does all this in more depth for us already.

我知道我可以在:

VendorlaravelframeworksrcilluminateDatebaseEloquentModel.php

然而,我宁愿不更改 Laravel 的核心文件,也不想让我的每个模型都将其放在顶部.有没有办法在其他地方为所有模型禁用此功能?

However I'd rather not change a core file for Laravel, or have everyone of my models have that at the top. Is there any way to disable this elsewhere for all models?

推荐答案

你要么必须在每个模型中声明 public $timestamps = false; ,要么创建一个 BaseModel,在那里定义它,并有你所有的模型都扩展了它而不是雄辩.如果您使用 Eloquent,请记住数据透视表必须有时间戳.

You either have to declare public $timestamps = false; in every model, or create a BaseModel, define it there, and have all your models extend it instead of eloquent. Just bare in mind pivot tables MUST have timestamps if you're using Eloquent.

更新:请注意,在 Laravel v3 之后,数据透视表中不再需要时间戳.

Update: Note that timestamps are no longer REQUIRED in pivot tables after Laravel v3.

更新:您还可以通过从迁移中删除 $table->timestamps() 来禁用时间戳.

Update: You can also disable timestamps by removing $table->timestamps() from your migration.

这篇关于禁用 Laravel 的 Eloquent 时间戳的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Warning: mysqli_query() expects at least 2 parameters, 1 given. What?(警告:mysqli_query() 需要至少 2 个参数,1 个给定.什么?)
INSERT query produces quot;Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean givenquot;(INSERT 查询产生“警告:mysqli_num_rows() 期望参数 1 为 mysqli_result,给出布尔值;)
prepared statements - are they necessary(准备好的陈述 - 它们是否必要)
Do I need to escape my variables if I use MySQLi prepared statements?(如果我使用 MySQLi 准备好的语句,是否需要转义我的变量?)
Properly Escaping with MySQLI | query over prepared statements(使用 MySQLI 正确转义 |查询准备好的语句)
Is it possible to use mysqli_fetch_object with a prepared statement(是否可以将 mysqli_fetch_object 与准备好的语句一起使用)