Zend_Db_Table_Abstract删除

use*_*503 3 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 = ?', '8'));

    }
}
Run Code Online (Sandbox Code Playgroud)

Ste*_* RC 11

要删除idEvent值为8的行:

$this->delete(Array("idEvent = ?" => 8));
Run Code Online (Sandbox Code Playgroud)

它将对值进行所有正确的引用和清理,而无需使用额外的quoteInto语句.


Bil*_*win 8

不,delete()函数只接受WHERE条件.

$this->delete("idEvent=8");
Run Code Online (Sandbox Code Playgroud)

不幸的是,该方法不理解像Select对象那样的双参数形式.因此,如果要将变量插入其中,则必须分两步执行:

$where = $this->getAdapter()->quoteInto("idEvent = ?", 8);
$this->delete($where);
Run Code Online (Sandbox Code Playgroud)