Je voudrais parcourir les lignes de données stockées dans un objet Zend_Db_Table_Rowset, puis supprimer/supprimer certaines lignes si elles ne remplissent pas certains critères.Zend Framework: Comment supprimer les lignes de données dans un objet Zend_Db_Table_Rowset
Je pourrais utiliser toArray() pour obtenir uniquement les lignes de données de l'objet et il serait alors facile de supprimer les lignes dont je n'ai pas besoin. Mais puisque je veux garder mon objet pour un usage ultérieur, je ne veux pas le faire.
Bien sûr, une solution serait d'ajuster ma requête afin de récupérer uniquement ce dont j'ai besoin, mais ce n'est pas possible dans ce scénario. Au moins, je ne saurais pas comment.
J'ai essayé les éléments suivants qui ne fonctionne pas:
foreach ($rowset as $key => $row)
{
if (!$condition == satisfied)
{
unset($rowset[$key]);
}
}
Et bien sûr, cela ne fonctionne pas, car il n'y a pas $ rowset [$ key] ... les données sont stockées dans un sous-tableau [_data: protected] mais non défini $ rowset [_data: protected] [$ key] ne fonctionnait pas non plus. Peut-être que ma conception d'un objet rowset (ou la représentation d'objets en général) n'est pas assez mature pour comprendre ce que je fais. Toute clarification et conseils seraient les bienvenus!
[EDIT] $ row-> delete N'EST PAS une option, je ne veux pas supprimer la ligne de la base de données! Je ne veux pas créer un tableau d'abord, si je voulais, je voudrais juste faire $ rowset-> toArray() [/ EDIT]
Solution: J'ai fini par faire ce que je pensais que je n » étais pas t aussi, ce qui signifie que j'ai tout intégré dans la requête initiale.
J'ai fini par faire ce que je pensais ne pas pouvoir aussi, ce qui signifie que j'ai tout intégré dans la requête. Mais merci pour l'entrée de jeu de lignes personnalisé dont je vais certainement avoir besoin à un moment donné. – markus