我有一个Phalcon控制器,它使用绑定参数构建一个针对模型运行的查询。其中一个参数可以是语句中的不同数量的整数,如:
table.column IN(:bound:)
我已经尝试将所述参数的bindType设置为不同的绑定类型,但每当我有逗号分隔的选项列表时:
$bind = '1234,2345,3456,4567'
它在查询中被绑定为字符串。当参数是单个数字时不会发生此问题。我已经测试了输入是单个整数还是分隔字符串,如果是,则手动插入值,但这看起来不够优雅。有没有办法让Phalcon或数据库发送原始值?参数来自会话变量,因此它们是可信值,但无论如何我都将它们转义。
由于
答案 0 :(得分:0)
为什么不使用“查询”构建器?
例如,在您的控制器/操作中:
$bind = '1234,2345,3456,4567';
$resultset = $this->modelsManager->createBuilder()
->from('Namespace\Model')
->inWhere('column', explode(',', $bind))
->getQuery()
->execute();
查询构建器的de documentation更多内容。