gpt4 book ai didi

php - 在 Doctrine_Query 中使用虚拟字段

转载 作者:行者123 更新时间:2023-12-02 05:13:48 24 4
gpt4 key购买 nike

有没有办法将基于虚拟字段的逻辑插入到 Doctrine_Query 中?

我在我的模型中定义了一个虚拟字段“getStatus()”,我最终想在我的 Doctrine_Query 的 Where 子句中使用它。

...
->AndWhere('x.status = ?',$status);

但是,“状态”不是表中的列,它是由模型中的业务逻辑计算得出的。

在某些情况下,在执行查询后过滤集合是可行的,但当混合使用 Doctrine_Pager 时则不行,因为它会在您访问集合之前计算其偏移量等。

我是否最好放弃 Doctrine_Pager 并在修改 Doctrine_Collection 后重建该功能?

最佳答案

如果您可以在 SQL 中做到这一点,那么您也可以在 Doctrine 中做到这一点。所有 Doctrine 所做的就是计算出您要放入 DQL 解析器的内容,无论是字符串还是值,然后将其转换为 SQL,然后从结果中提取对象。

你不能使用 Doctrine_Pager 对非查询对象进行分页,但是你可以使用 sfPager 并将 Doctrine_Collection 的结果作为数组传递给它吗?在最坏的情况下,您可以将查询结果减去查询中的任何限制并让它处理分页,但这确实效率低下。

用普通的旧 PHP 编写寻呼机“old skool”可能会更快。

关于php - 在 Doctrine_Query 中使用虚拟字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2888965/

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