use*_*292 39 php mysql laravel laravel-4
我可以映射Laravel的时间戳:
created_at要post_date和post_date_gmt?
updated_at要post_modified和post_modified_gmt?
我正在将Wordpress应用程序迁移到Laravel.
我正在使用Laravel访问Wordpress数据库的副本.数据库的实时版本仍在使用中,因此我不想更改架构.
该帖子表有post_date,post_date_gmt,post_modified和post_modified_gmt,但Laravel期待created_at和updated_at.
反正有没有改变Laravel寻找的列名?
我希望Laravel更新已经存在的所有列的时间戳.
Jar*_*zyk 65
不幸的是,接受的答案可能会导致更新时间戳的问题.
您最好覆盖模型上的consts:
const CREATED_AT = 'post_date';
const UPDATED_AT = 'post_modified';
Run Code Online (Sandbox Code Playgroud)
然后,方法getCreatedAtColumn和getUpdatedAtColumn将返回post_date和post_modified分别,但不会做任何伤害.
对于其他列,您需要使用@Oni建议等事件.
小智 20
如果你看一下Eloquent班级的来源
https://github.com/illuminate/database/blob/4.2/Eloquent/Model.php#L223-L235
您应该可以通过覆盖这些常量来轻松更改这些列名称.
<?php
class YourModel extends Eloquent {
/**
* The name of the "created at" column.
*
* @var string
*/
const CREATED_AT = 'post_date';
/**
* The name of the "updated at" column.
*
* @var string
*/
const UPDATED_AT = 'post_modified';
}
Run Code Online (Sandbox Code Playgroud)
至于_gmt那些时间戳的版本,你可能想要研究一下events.这是一个好的开始
http://driesvints.com/blog/using-laravel-4-model-events
| 归档时间: |
|
| 查看次数: |
25540 次 |
| 最近记录: |