【问题标题】:Phalcon Converting bound Parameter to StringPhalcon将绑定参数转换为字符串
【发布时间】:2014-06-27 14:44:31
【问题描述】:

我有一个 Phalcon 控制器,它使用绑定参数构建查询以针对模型运行。其中一个参数可以是语句中不同数量的整数,例如:

table.column IN(:bound:)

我尝试将所述参数的 bindType 设置为不同的绑定类型,但每当我有一个以逗号分隔的选项列表时:

$bind = '1234,2345,3456,4567'

它在查询中被绑定为字符串。参数为单个数字时不会出现此问题。我已经开始测试输入是单个整数还是分隔字符串,如果是,则手动插入值,但这似乎不优雅。有没有办法让 Phalcon 或数据库发送原始值?参数来自会话变量,因此它们是受信任的值,但我还是将它们转义了。

谢谢

【问题讨论】:

  • 我不认为 phalcon 支持这种语义(就像 Zend 一样)。您需要“手动”执行此操作。

标签: php mysql phalcon


【解决方案1】:

为什么不使用查询生成器?

例如在你的控制器/动作中:

$bind = '1234,2345,3456,4567';    
$resultset = $this->modelsManager->createBuilder()
               ->from('Namespace\Model')
               ->inWhere('column', explode(',', $bind))
               ->getQuery()
               ->execute();

更多关于查询生成器的内容请参见documentation

【讨论】:

    猜你喜欢
    • 2015-11-07
    • 2011-12-13
    • 2020-06-23
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    相关资源
    最近更新 更多