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