Zend framework Zend_Db_表_摘要删除
我想删除一行,有人能告诉我正确的语法吗Zend framework Zend_Db_表_摘要删除,zend-framework,Zend Framework,我想删除一行,有人能告诉我正确的语法吗 class Application_Model_Event extends Zend_Db_Table_Abstract { protected $_name = 'xx'; protected $_primary = 'xx'; public function deleteEvent ( $xx) { $this->delete( $this->select()->where('idEvent
class Application_Model_Event extends Zend_Db_Table_Abstract {
protected $_name = 'xx';
protected $_primary = 'xx';
public function deleteEvent ( $xx) {
$this->delete( $this->select()->where('idEvent = ?', '8'));
}
}
不,delete()函数只接受WHERE条件
$this->delete("idEvent=8");
不幸的是,该方法不像Select对象那样理解双参数形式。因此,如果要在其中插入变量,必须分两步进行:
$where = $this->getAdapter()->quoteInto("idEvent = ?", 8);
$this->delete($where);
要删除idEvent值为8的行,请执行以下操作:
$this->delete(Array("idEvent = ?" => 8));
它将对值进行所有正确的引用和清理,而无需使用额外的quoteInto语句。是的,它有点模糊,手册中没有提到(上次我去查看时)。。。我是通过阅读ZF的源代码发现的。是的,这很奇怪。。我最后只做了原始SQL。。。欺骗了模特$db=Zend_注册表::get(“db”)$db->query('DELETE FROM element,其中idaForm='。$IDAFENT);您知道Db适配器类有一个方法
delete($tableName,$whereExpression)
?