我使用以下代码:
$age=10; //user input
$select
->columns(["id"=>"id"])
->where->greaterThan("age",$age);
echo $select->getSqlString();
这给了我以下结果:
SELECT "program"."id" AS "id" FROM "program" WHERE "age" > '10'
但是,我想将 >
用于整数,例如得到结果查询
SELECT "program"."id" AS "id" FROM "program" WHERE "age" > 10
如何使用 greaterThan
谓词实现这一点?
我知道我也可以写 ->where("age > $age");
但这既不安全也不美观。
最佳答案
查看the documentation , greaterThan
有这个函数头:
public function greaterThan($left, $right, $leftType = self::TYPE_IDENTIFIER, $rightType = self::TYPE_VALUE);
虽然没有记录,但将 $rightType
设置为 Predicate::TYPE_LITERAL
的类型可能会公开文字整数值。我不知道 TYPE_LITERAL
值是否仍在正确转义。请核实。
关于php - 在 Zend Mysql 中强制使用大于数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26488900/