生成动态数据Zend的形式?
-
26-09-2019 - |
题
我需要访问我的会议,并根据我需要抢东西从数据库用作我的下拉选项会话属性。
$ _ SESSION是:
[sess_name] => Array(
[properties] => Array(
1=> Hotel A,
2=> Hotel B
),
[selected] => 1
)
我需要抓住酒店A选自,然后从数据库中下酒店A访问的所有帐户:
id title hotel_id
------------------------------
1 Hotel A Twitter Account 1
2 Hotel B Facebook Account 2
3 Hotel A Facebook Account 1
我需要的id 1和3,因为我HOTEL_ID中的上下文中是1:
$this->addElement( 'select', 'account', array(
'multioptions' => $NEED_IT_HERE
));
这是我的查询/会话抓取代码:
$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;
我有这样的代码在我的表单页面,但我现在需要将其移动到我的模型。
解决方案
那么,是你的问题?
请您的数据库来获取这些账户在一个适当的查询。
请从结果的适当阵列。 (ID =>标题)
可以设置已经存在的元件上的选项:
$element = $form->getElement('account');
$element->setMultiOption( $option_array );
您可以创建在你的窗体类的方法,它会接受DB OBJ,会议OBJ和执行需要加载的行动,并设置这些选项。
模式,这是在应用程序/模块/富/模型/ DBTABLE /社会,模型类名称是Model_DbTable_Social和模块是FOO。抛出致命错误:
您DB-表类可能应该被命名为:
Foo_Model_DbTable_Social
和的application.ini应包含:
resources.modules[] =
; (It is autoloader for modules)
类“Model_DbTable_Social”当我尝试调用它在我的形式。或者是你提到更容易这样?
这是一个很好的做法,像__construct说chelmertz索要这些资源。下面是相关的主题一个很好的谈话: http://www.youtube.com/watch?v=-FRm3VPhseI
你可能需要阅读我的问题关于“哪里的形式连接到模型”: 的Zend框架原则和MVC模式:什么样的层应该连接模式和形式之间的数据? 没有太多的解决方案,虽然
不隶属于 StackOverflow