Generando una forma Zend con datos dinámicos?
-
26-09-2019 - |
Pregunta
necesito para acceder a mi sesión y se basa en la propiedad de sesión necesito material de agarre de la base de datos para su uso como opciones en mi desplegable.
$ _ SESSION es:
[sess_name] => Array(
[properties] => Array(
1=> Hotel A,
2=> Hotel B
),
[selected] => 1
)
Tengo que agarrar Hotel A partir seleccionada, y luego acceder a todas las cuentas bajo el Hotel A partir de la base de datos:
id title hotel_id
------------------------------
1 Hotel A Twitter Account 1
2 Hotel B Facebook Account 2
3 Hotel A Facebook Account 1
Necesito identificadores de 1 y 3 porque mi hotel_id es 1 en el contexto de:
$this->addElement( 'select', 'account', array(
'multioptions' => $NEED_IT_HERE
));
Aquí está mi código de consulta / sesión agarrar:
$cs = new Zend_Session_Namespace( SESS_NAME );
$model = new Model_DbTable_Social;
$s = "
SELECT social_accounts.*
FROM social_accounts
LEFT JOIN social_media_outlets ON social_media_outlets.id = social_accounts.property
WHERE social_accounts.property=".(int)$cs->selectedclient;
Tengo este código en mi página de formulario, pero tengo que moverlo a mi modelo ahora.
Solución
Entonces, ¿dónde está el problema?
Hacer una consulta apropiada en su base de datos para conseguir esas cuentas.
Hacer una matriz adecuada del resultado. (Id => Título)
Se puede configurar opciones de elemento ya existente:
$element = $form->getElement('account');
$element->setMultiOption( $option_array );
Se puede crear un método en la clase de forma que acepte DB obj, Sesión obj y realizar las acciones necesarias para la carga y configurar esas opciones.
modelo, que se encuentra en la aplicación / módulos / foo / modelos / DbTable / Sociales, el nombre de la clase modelo es Model_DbTable_Social y el módulo es foo. Lanza Fatal error:
Su clase db-mesa, probablemente, se debe nombrar:
Foo_Model_DbTable_Social
Y application.ini debe contener:
resources.modules[] =
; (It is autoloader for modules)
'Model_DbTable_Social' Clase cuando intento de invocar en mi forma. O es de esa manera que se menciona más fácil?
Es una buena práctica para pedir esos recursos en __construct como chelmertz dijo. Aquí está una charla agradable en tema relacionado: http://www.youtube.com/watch?v=-FRm3VPhseI
Es posible que desee leer mi pregunta de "dónde conectar las formas de los modelos": Zend-marco, y el patrón MVC: ¿qué tipo de capa debe conectar los datos entre los modelos y formas ? No hay muchas soluciones a través