gpt4 book ai didi

php - Doctrine 不会使用 ->select 提取日期时间字段

转载 作者:行者123 更新时间:2023-11-30 22:30:10 27 4
gpt4 key购买 nike

我正在处理遗留 symphony 项目 (v2.1),我正在尝试使用 doctrine 通过选择语句 (SessionDesign.created) 提取日期时间字段。但是,当我检查结果时,它只会提取空值。

日志说它不能转换成字符串,这很好,但是如何让 select 语句拉起来创建为字符串?

代码:

$query = $this->em->createQueryBuilder()
->select('fos_user.email, fos_user.fcid, SessionDesign.sessionID, SessionDesign.created')
->from('FYPEmailsBundle:User', 'fos_user')
->join('fos_user.SessionDesign', 'SessionDesign')
->where('fos_user.emailok = true')
->getQuery();
$result = $query->getArrayResult();

最佳答案

Doctrine 能够将日期字段自动转换为 \DateTime 只有当字段被映射为日期/时间字段时。确保您的 SessionDesign.created 字段正确映射到“datetime”类型。 Here's the list of supported doctrine mapping types .

是否使用注解

/**
* @ORM\Column(type="datetime")
*/
private $created;

或 yaml

SessionDesign:
fields:
created:
type: datetime

如果设置正确,原则应该在数组结果中将created 作为\DateTime 对象 返回,而不是字符串。只需在 $result = $query->getArrayResult(); 之后立即在 $result 上创建一个 var_dump 即可。

关于php - Doctrine 不会使用 ->select 提取日期时间字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34073765/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com