0
有沒有辦法將默認範圍添加到基於Zend_Db_Table_Abstract的模型。Zend_Db_Table_Abstract和默認範圍
我希望能夠以某些條件作爲默認值來查詢模型。
例如
- 刪除=假
- 爲了名升序
有沒有辦法將默認範圍添加到基於Zend_Db_Table_Abstract的模型。Zend_Db_Table_Abstract和默認範圍
我希望能夠以某些條件作爲默認值來查詢模型。
例如
可以重寫Zend_Db_Table_Abstract:: _fetch()
方法,並從數據庫適配器檢索行之前修改生成Zend_Db_Table_Select
在那裏。據我所知fetch*
-方法和find()
在Zend_Db_Table_Abstract
歸結爲這種通用的行檢索方法(除了Zend_Db_Table_Abstract::fetchNew()
自然),所以你修改後的代碼將被調用每次從數據庫中檢索行。
/**
* Support method for fetching rows.
*
* @param Zend_Db_Table_Select $select query options.
* @return array An array containing the row results in FETCH_ASSOC mode.
*/
protected function _fetch(Zend_Db_Table_Select $select)
{
$select->where('deleted = false')->order('name asc');
return parent:: _fetch($select);
}
我在這裏讀這更早,但不能似乎得到它的工作:S http://www.zendframeworkinaction.com/2008/01/30/zend_db_table_abstract-in-version-15/ 很奇怪 – sfusion 2009-09-23 09:35:12
什麼「似乎無法得到它的工作」是什麼意思?你是否收到錯誤信息或錯誤的結果,或者結果都不是?你有沒有嘗試調試過程中發生了什麼? – 2009-09-23 09:56:54
嘗試在上述方法中添加一個var_dump($ select - > __ toString()) - 在調用父方法之前,查看生成的SQL字符串的樣子。 – 2009-09-23 09:58:02