gpt4 book ai didi

mysql - zend 框架自动更改查询

转载 作者:行者123 更新时间:2023-11-29 08:55:51 24 4
gpt4 key购买 nike

我的数据库 (mysql) 表使用 TIMESTAMP 列,每当我希望在查询中返回它们时,我希望将它们作为“UNIX_TIMESTAMP(columnname)”进行查询。

如何轻松修改 zend 框架中的查询来实现此目的?

例如当前代码为:

select = $this->select();
$select->where('user_id = ?',$user_id);
return $this->fetchAll($select);

最终变成:

select * from tablename where user_id = 42;

我想要自动查找 TIMESTAMP 列并将结果查询更改为:

select user_id,name,unix_timestamp(created) where user_id = 42;

我知道我可以使用 MySQL View 来实现此目的,但我宁愿避免这样做。

谢谢。

RR

最佳答案

您应该能够使用 $select->from() 对象在选择中指定所需的字段。

Zend_Db_Select

你最终应该得到这样的结果。

$select = $this->select();

$select->from(
array('t' => 'tablename'),
array('user_id', 'name', 'UNIX_TIMESTAMP(created)')
);

$select->where('user_id = ?',$user_id);
return $this->fetchAll($select);

如果您想运行函数中没有括号的表达式,请使用 Zend_Db_Expr() 方法正确转义查询。

关于mysql - zend 框架自动更改查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10019012/

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