我需要访问我的会议,并根据我需要抢东西从数据库用作我的下拉选项会话属性。

$ _ 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模式:什么样的层应该连接模式和形式之间的数据? 没有太多的解决方案,虽然

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top