Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 信条2和PostgreSQL:如何只从一个;“没有时区的时间”;属性_Php_Postgresql_Orm_Doctrine Orm_Doctrine - Fatal编程技术网

Php 信条2和PostgreSQL:如何只从一个;“没有时区的时间”;属性

Php 信条2和PostgreSQL:如何只从一个;“没有时区的时间”;属性,php,postgresql,orm,doctrine-orm,doctrine,Php,Postgresql,Orm,Doctrine Orm,Doctrine,关于PostgreSQL,我有下表: CREATE TABLE horary ( id bigint NOT NULL DEFAULT nextval('seq_office_horary'::regclass), day character(3), start time without time zone, end time without time zone, CONSTRAINT pk_horary PRIMARY KEY (id ) ) WITH ( OIDS=F

关于PostgreSQL,我有下表:

CREATE TABLE horary
(
  id bigint NOT NULL DEFAULT nextval('seq_office_horary'::regclass),
  day character(3),
  start time without time zone,
  end time without time zone,
  CONSTRAINT pk_horary PRIMARY KEY (id )
)
WITH (
  OIDS=FALSE
);
我的一段PHP代码:

/**
 * @Column(type="time", name="start")
 */
protected $start;

/**
 * @Column(type="time", name="end")
 */
protected $end;
当系统返回json\u encode(horry)时,我得到以下结果:

{
    "start": {
       "date": "2014-04-10 08:00:00",
       "timezone_type": 3,
       "timezone": "Europe/Berlin"
    },
    "end": {
        "date": "2014-04-10 12:00:00",
        "timezone_type": 3,
        "timezone": "Europe/Berlin"
    }
}
如果我将PHP映射中的列类型从time更改为string,我将得到所需的

{
    "start": "08:00:00",
    "end": "12:00:00"
}
如果PostgreSQL中的数据类型是“没有时区的时间”,为什么条令会带来所有与时区相关的数据?为什么我应该将这些“时间”字段映射为字符串,以便只获取时间

是否有一种方法可以将列映射为“时间”,并获得我想要的相同结果(关于时间的简单信息)


提前感谢

它可能正在读取服务器时区设置。这真的是一个ORM的东西,不是PostgreSQL的东西。是的,这是一个ORM的问题。当然可以但我想知道如何解决这个问题。根据文档,doctrine2只能将时间域映射到DateTime。但您可以创建自己的映射类型,该类型将映射到PHP时间对象,如下所示: