Mysql Laravel-获取上次更新表的时间
我想知道上一次更新表的时间(不一定是最新的条目,条目也可能被删除) 在SQL中,解决方案很简单:Mysql Laravel-获取上次更新表的时间,mysql,laravel,laravel-5,eloquent,Mysql,Laravel,Laravel 5,Eloquent,我想知道上一次更新表的时间(不一定是最新的条目,条目也可能被删除) 在SQL中,解决方案很简单: SELECT UPDATE_TIME FROM information_schema.tables WHERE TABLE_SCHEMA = 'myDb' AND TABLE_NAME = 'myTable'; 但是,我要做到这一点的唯一方法是创建一个新连接。 假设我的连接名为mysqlConn,我的新连接将如下所示: 'mysqlConnScheme' => [ 'driver'
SELECT UPDATE_TIME FROM information_schema.tables
WHERE TABLE_SCHEMA = 'myDb' AND TABLE_NAME = 'myTable';
但是,我要做到这一点的唯一方法是创建一个新连接。假设我的连接名为
mysqlConn
,我的新连接将如下所示:
'mysqlConnScheme' => [
'driver' => *** same as mysqlConn ***,
'host' => * - " - *,
'port' => * - " - *,
'username' => * - " - *,
'password' => * - " - *,
'database' => 'information_schema',
],
然后我可以通过以下方式检索它:
$updateTime = DB::connection('mysqlConnScheme')
->setDatabaseName('information_schema')
->table('tables')
->select('UPDATE_TIME')
->where('TABLE_SCHEMA', '=', 'myDb')
->where('TABLE_NAME', '=', 'myTable')
->first();
我想知道是否有任何方法可以在不创建另一个连接的情况下执行此操作。我使用了一个datetime字段,我总是在
INSERT
s和UPDATE
s上将其设置为NOW()
,但如果有一个更本机的方法,这将非常有趣。如果您的每个表都有一个与之关联的模型,在迁移中使用了$table->timestamps()
,那么每个表都应该在列中有一个updated\u,该列在行发生更改时自动更新。如果你在这里向下滚动一点:你可以看到时间戳部分,以及它是如何工作的添加到@TimLewis:以包括删除的条目,你还必须使用感谢很多。正如我提到的,问题是删除了条目。我不知道软删除,这是非常有趣的,但在我的情况下,硬删除是必要的。