默认情况下将 propel 设置为日期格式 getDate(“Ymd”),以便更好地与 zend toArray() 配合使用
我的查询返回一个具有日期字段
$obj = ObjectQuery::create()->findPK(11);
var_dump($obj)
的对象,将日期字段显示为yyyy-mm-dd
,就像在数据库中一样$ obj->getThedate();
将格式更改为mm/dd/yy
我不希望发生这种情况$obj->getThedate("Ymd") ;
在数据库中为我提供相同的格式yyyy-mm-dd
因此,为了以与数据库中存储的相同格式获取数据,我需要在获取时设置格式特定的日期字段,例如第三行。
问题是我没有单独读取日期字段。我将完整的 $obj 作为一个整体,并使用 Zend 的 toArray()
将其转换为数组,因此我无法控制 toArray()
的读取方式日期字段。有没有办法将 Propel 设置为默认格式 ("Ymd")
传送?可能在正确的配置设置中?
My query returns an object that has a date field
$obj = ObjectQuery::create()->findPK(11);
var_dump($obj)
shows me the date field asyyyy-mm-dd
like it is in the database$obj->getThedate();
changes the format tomm/dd/yy
which I don't want to happen$obj->getThedate("Y-m-d");
gives me same format in the databaseyyyy-mm-dd
So to get the data in the same format it's stored in the database, I need to set the format when I'm getting that specific date field, like the third line.
The problem is that I'm not reading the date field separately. I'm taking the full $obj as a whole and turning it into an array using Zend's toArray()
, so I don't have control over how toArray()
reads the date field. Is there a way to set Propel to deliver in the format ("Y-m-d")
as a default? Something maybe in the prople config settings?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Propel 用于时间列的默认格式可以通过三个构建配置参数进行配置:
如您所见,默认日期格式为
%x
,这是基于您的区域设置的首选日期表示形式。您应该将其更改为%Y-%m-%d
或简写%F
。The default format Propel uses for temporal columns can be configured by three build configuration parameters:
As you can see, the default format for dates is
%x
, which is the preferred date representation based on your locale. You should change it to%Y-%m-%d
or the shorthand%F
.