zend usar tutorial que para framework español ejemplo como zend-framework zend-db zend-db-table

usar - Zend Framework: ¿Cómo eliminar una fila de la tabla donde múltiples cosas son verdaderas?



tutorial de zend framework 2 en español (3)

Del manual zend en delete ():

Si omite el segundo argumento, el resultado es que todas las filas en la tabla de la base de datos se eliminan.

Si proporciona una matriz de cadenas como el segundo argumento, estas cadenas se unen juntas como términos en una expresión separada por operadores AND.

Si proporciona una matriz de matrices como segundo argumento, los valores se citarán automáticamente en las claves. Estos se unirán luego como términos, separados por operadores AND.

No estoy seguro de qué está diciendo la tercera sección, pero la segunda implica que puede:

$where = array(); $where[] = $db->quoteInto(''first_id = ?'', $first_id); $where[] = $db->quoteInto(''second_id = ?'', $second_id); $db->delete(''tablename'', $where);

Normalmente, esto funcionaría para mí:

$db = Zend_Db_Table::getDefaultAdapter(); $where = $db->quoteInto(''id = ?'', $id); $db->delete(''tablename'', $where);

pero tengo que unir dos identificadores. Entonces, realmente no sé cómo estructurarlo.

WHERE first_id = ''id1'' AND second_id = ''id2''

Entonces, ¿cómo hago esto con Zend Framework?


Para extender la respuesta de Jason W:

No estoy seguro de qué está diciendo la tercera sección

Eso significa que puedes hacer esto:

$db->delete(''tablename'', array( ''first_id = ?'' => $first_id, ''second_id = ?'' => $second_id ));

Y el adaptador lo citará todo por ti.

No creo que la documentación sea muy clara.


Si está en un modelo que extiende la clase Zend_Db_Table_Abstract, debe usar una estructura diferente:

class Yourmodel extends Zend_Db_Table_Abstract { protected $_name = ''tablename''; protected $_primary = ''primarykey''; public function remove($first_id, $second_id) { $where = array(); $where[] = $this->getAdapter()->quoteInto(''first_id = ?'', $first_id); $where[] = $this->getAdapter()->quoteInto(''second_id = ?'', $second_id); $this->delete($where); } }