2010-04-29 84 views
2

我有一個pgsql表,其中包含字段id,標識符,名稱。Zendframework/PgSQL抓取所有的訂單人

id serial NOT NULL, 
    identifier character varying(16), 
    name character varying(128) 

我想fetchAll從表中orderby標識符的值。

但標識中具有值的

12, 100, 200, 50 

$table->fetchAll(null, 'identifier'); 後給出結果

100, 12, 200, 50 

,但我想要的結果作爲

12, 50, 100, 200 

,或者使用直接查詢?

回答

1

我認爲,該查詢爲你工作

select * from tablename order by tableField::int 
+0

也表 - $>使用fetchall(NULL, '(標識符:: INT)');將與zend一起工作 tnx :) – viMaL 2010-04-29 10:17:08

0

試試這個:

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

+0操作應該讓PostgreSQL的投標識值爲整數,所以數字順序排序,而不是按字母順序排列。

圓括號的存在應該給Zend Framework提供一個線索,將排序參數當作表達式而不是列名。