【发布时间】:2016-04-22 21:59:57
【问题描述】:
我使用 DB::statement($query, $params) 通过 INSERT ... ON DUPLICATE KEY UPDATE 语法对我的数据库执行批量插入。但是,当我这样做时,“updated_at”或“created_at”字段都不会更新。我想知道是否有办法强制在原始查询中更新正确的字段?
上下文:我正在使用 Laravel 5.1,并使用 $table->timestamps() 功能创建了相关表。除了进行原始插入/更新之外,我还使用 Eloquent 查询这些表,因此我无法实现禁用 Eloquent 自动更新的解决方案。
问题:目前我不清楚 Eloquent 自动更新时间戳字段时如何生成时间 - 我假设它会参考数据库的参考时钟触发数据库中的自动更新?我想模仿但 Eloquent 正在这样做,这样我就不会使用两个不同的时钟作为源来结束时间。
我对使用原始 MySQL 查询非常陌生,因此提前感谢人们能够提供的任何建议/见解!谢谢!
【问题讨论】:
标签: php mysql laravel-5 timestamp