Salut,
si je comprends bien, tu te compliques ton travail sur quelquechose de très simple. Je m'explique.
Tu dois dire à ton controller d'appeler une fonction de ton modèle qui va te récupérer les infos que tu souhaites dans ta base de données. Tu peux le faire en passant une requète sql en paramètre.
Il faut simplement que tu utilises les jointures en SQL de façon à récupérer des informations de différentes tables dans une même requète. Si tu ne connais pas les jointures en SQL, tu cherches de la doc, tu trouveras sans aucun problème. C'est quelquechose qui n'est pas compliqué et qui est très important.
Un bon moyen pour réussir ça est de mettre un attribut ID dans chacune de tes tables qui correspond à ce que tu cherches, je ne comprends pas trop si c'est une facture ou un produit ou autre mais ça reviendrait au même.
L'appel à la fonction serait du type :
$this->find($id);
La requète serait du style:
SELECT Type.nom TotalPris.total TotalAPrendre.valeur FROM Type, TotalPris, TotalAPrendre WHERE TYPE.ID=$ID AND Type.ID = TotalPris.ID AND TotalPris.ID = TotalAPrendre.ID
Si tu utilises un gros framework, tu n'as probablement pas de fonction à définir dans ton modèle vu qu'elle existe déjà, si elle n'existe pas, tu définis une simple fonction qui fait une requète sql en prenant un ID en paramètre.
N'hésite pas si tu veux des précisions.