我有一个带有字段id,identifier,name的pgsql表。
id serial NOT NULL,
identifier character varying(16),
name character varying(128)
我想从表orderby标识符中获取fetchAll
个值。
但标识符具有值
12, 100, 200, 50
并在$table->fetchAll(null, 'identifier');
之后
正在给出结果
100, 12, 200, 50
但我希望结果为
12, 50, 100, 200
或使用直接查询?
答案 0 :(得分:1)
我认为,这个查询对你有用
select * from tablename order by tableField::int
答案 1 :(得分:0)
试试这个:
$table->fetchAll(null, '(identifier+0)');
+0
操作应该使PostgreSQL将标识符值转换为整数,因此它按数字而不是按字母顺序排序。
括号的存在应该为Zend Framework提供一个线索,将排序参数视为表达式,而不是列名。