18-01-2010, 12:59 AM
A ta place, je tournerai le problème un peu différemment. Je garderai l'idée de stocker une collection d'objets dans une variable, mais si tu choisis de stocker ces données de différentes façons, tu risques de t'y perdre et de ne plus savoir comment tu stockes / comment accéder à tes données. J'aurais donc enregistré les données toujours de la même façon, typiquement, dans un tableau sans clé. Ou au pire, la clé serait égale à la clé primaire de la table en question. Car si on a la possibilité d'utiliser d'autres champs, on a un risque de "collision" et de perdre des tuples en chemin.
Ensuite, pour la récupération, rien ne t'empêche de faire plusieurs méthodes, genre
getById($id),
getByFields($fields), où $fields pourrait être une chaîne de caractère ou un tableau de champs :
Ensuite, pour la récupération, rien ne t'empêche de faire plusieurs méthodes, genre
getById($id),
getByFields($fields), où $fields pourrait être une chaîne de caractère ou un tableau de champs :
Code PHP :
<?php
getByFields($fields) {
if (!is_array($fields))
$fields = array($fields);
$return = array();
foreach ($this->donnees as $data) {
foreach ($fields as $f)
{
if (in_array($f, $data)) {
$return[] = $data;
}
}
return $return;
}