J'ai besoin d'accéder à ma session et en fonction de la propriété de session, j'ai besoin de saisir des choses de la base de données pour les utiliser comme options dans ma liste déroulante.Générer un formulaire zend avec des données dynamiques?
$ _SESSION est:
[sess_name] => Array(
[properties] => Array(
1=> Hotel A,
2=> Hotel B
),
[selected] => 1
)
J'ai besoin de saisir Hôtel A partir sélectionné, puis accéder à tous les comptes en Hôtel A partir de la base de données:
id title hotel_id
------------------------------
1 Hotel A Twitter Account 1
2 Hotel B Facebook Account 2
3 Hotel A Facebook Account 1
J'ai besoin ids 1 et 3 parce que mon hotel_id est 1 dans le cadre de:
$this->addElement( 'select', 'account', array(
'multioptions' => $NEED_IT_HERE
));
Voici ma requête/session de saisir le code:J'ai ce code dans ma page de formulaire, mais j'ai besoin de le déplacer dans mon modèle maintenant.
* Où * dois-je faire la requête pour obtenir ces comptes? Dans le formulaire lui-même? Si oui, comment puis-je référencer la méthode d'invocation de requête à partir de l'instance de formulaire? Comment puis-je réellement relier les choses que je fais ensemble? –
Bien sûr, prenez-le dans le formulaire, assurez-vous d'écouter le conseil "ou vous pouvez créer une méthode dans votre classe de formulaire qui accepterait obj DB, Session obj et effectuer les actions nécessaires pour charger et définir ces options." cependant, de sorte que vous pouvez injecter différentes sources pour vos valeurs. Je laisserais le 'Form_YourClass :: __ construct()' avoir besoin de ces options (hotels comme tableau, par exemple) sinon l'initialisation échouera. – chelmertz
J'ai porté mon code db sur le modèle, qui se trouve dans 'application/modules/foo/models/DbTable/Social', le nom de la classe du modèle est' Model_DbTable_Social' et le module est 'foo'.Lance une erreur fatale: Classe 'Model_DbTable_Social' lorsque j'essaie de l'invoquer dans mon formulaire. Ou est-ce que vous mentionnez cela plus facilement? –