2009-09-19 7 views
4

existe-t-il un moyen de convertir automatiquement un tableau en Zend_Db_Table_Row ou en Zend_Db_Table_Rowset?array à Zend_Db_Table_Row zend framework

Formulaire Zend_Db_Table_Row vous pouvez obtenir le tableau avec toArray(), mais je me demandais s'il existe quelque chose comme contraire de cela? Jusqu'à présent, j'ai implémenté une fonction fill ($ data) qui prenait le tableau et qui définissait les attributs de Zend_Db_Table_Row.

Bien sûr, les clés de tableau sont les mêmes que les attributs Zend_Db_Table_Row.

Merci!

Répondre

5

Vérifiez la méthode fetchRow() de Zend_Db_Table. Là vous pouvez le trouver. Je suppose que vous pouvez alimenter le tableau au constructeur comme ceci:

$data = array(
     'table' => $yourDbTableModel, 
     'data'  => $yourArray, 
     'readOnly' => $iGuessShouldBeZero, 
     'stored' => true 
    ); 
$row = new Zend_Db_Table_Row($data); 
+0

Merci! les deux réponses sont très bonnes! Vous avez tous deux résolu mon problème! –

2

Je pense que cela devrait faire l'affaire:

$myRow = new Zend_Db_Table_Row(
    array(
     'data' => array(/* your array with data */ ) 
    ) 
); 

Donc, si vous fournissez le constructeur avec un tableau de configuration qui contient une clé 'données' qui à son tour contient un tableau avec les données, vous devriez être bon.

Pour plus d'informations, consultez Zend_Db_Table_Row_Abstract dans votre bibliothèque Zend.