Zendframework / PgSQL fetchAll orderby

时间:2010-04-29 06:47:39

标签: php zend-framework sql-order-by postgresql fetchall

我有一个带有字段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

或使用直接查询?

2 个答案:

答案 0 :(得分:1)

我认为,这个查询对你有用

select * from tablename order by tableField::int

答案 1 :(得分:0)

试试这个:

$table->fetchAll(null, '(identifier+0)');

+0操作应该使PostgreSQL将标识符值转换为整数,因此它按数字而不是按字母顺序排序。

括号的存在应该为Zend Framework提供一个线索,将排序参数视为表达式,而不是列名。