6
votes

Comment définir une valeur sur NULL lors de l'utilisation de zend_db

Lors de la mise à jour et insérez des requêtes à l'aide de zend_db, j'ai souvent besoin de définir des valeurs égales à NULL (pas ''). Cependant, le comportement par défaut de zend_db :: insert () et zend_db :: update () semble être que les valeurs vides sont traduites en chaînes vides ('') et dans la base de données comme telle.

Est-ce que quelqu'un connaît une façon de forcer une valeur nulle pour entrer dans des champs si la valeur est vide dans PHP?


0 commentaires

4 Réponses :


23
votes

Essayez de définir les champs affectés sur: nouveau zend_db_expr ('null')


1 commentaires

J'aime cette méthode pour la abstraction que cette méthode vous donne



4
votes

J'ai toujours été capable de faire cela en utilisant NULL de PHP:

$toUpdate = array('nullValue' => null, 'otherValue' => 'something');
Zend_Db::update($table, $toUpdate, $where);


0 commentaires

2
votes

Alors que Johrn, j'ai pu faire cela avec la valeur NULL de PHP:

$value = null;
$what = array($columnName => $value);
$where = $this->_dbTableName->getAdapter()->quoteInto('Id = ?', $dbRecord->Id);
$this->_dbTableName->update($what, $where);


0 commentaires