Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Je voudrais signaler et comprendre pourquoi si on fait par erreur :
$proDoc = new ProDoc(); $proDoc->delete(array('id_document' => $file->id));
Au lieu de :
$proDoc = new ProDoc(); $proDoc->delete(array('id_document = ?' => $file->id));
Toute la table de ProDoc est complètement vidé. J'ai fait cet erreur et ça ne l'a pas trop fait . Pourquoi il n'y a pas une Exception plutôt qui me dit que le code est incorrect.
Hors ligne
Hello,
Parce que ton code est correct
// le SQL est valide DELETE FROM toto WHERE true;
Il faudrait plutôt :
$proDoc = new ProDoc(); $proDocElement = $proDoc->find($file->id); if ($proDocElement !== null) { try { $proDocElement->delete(); } catch (Exception $e) { echo "Impossible de supprimer l'élément : " . $e->getMessage(); } echo 'Elément supprimé'; } else { echo 'Aucun élément à supprimer'; }
@+
Hors ligne
Je débute en Zend mais j'aurai plutôt fait ça de la sorte afin d'éviter une requête ( find ).
$proDoc = new ProDoc(); $where = $proDoc->getAdapter()->quoteInto('id_document = ?', $file->id); $result = $proDoc->delete($where);
Hors ligne
J'ai vu plusieurs fois le fait de faire un find d'abord puis un delete du find. Mais cette solution a quoi comme d'autre comme avantage ? car ça fait 2 requêtes au final.
Hors ligne