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