0

ログインしているユーザーのユーザー名を取得するために呼び出して、ドロップダウン メニューの 1 つのオプションを制限しようとしていZend_Authます。コードは問題ないようですが、ドロップダウン メニューに 1 つの空白しか表示されません。

    $auth= Zend_Auth::getInstance();
    $user= $auth->getIdentity();
    $username   = $user->username;

    $memberid = $this->createElement('select', 'memberid'); //dropdown menu of member name
    $memberid->setLabel('Member Id')
    ->setRequired(true);
    $db_member = new Application_Model_DbTable_Register();

    $select = $db_member->select('userid')
    ->from(array('usertable'))
    ->where('usertable.username = ?', $username);     

    $row = $db_member->fetchRow($select);
    $memberid->addMultiOption($row['userid']);
4

1 に答える 1

0

メソッドaddMultiOptionは $option と $value の 2 つのパラメーターを取るため、代わりに

$memberid->addMultiOption($row['userid']);

のようなものを作ってみてください

$memberid->addMultiOption('user_id', $row['userid']);

オプションuser_id要素の名前です。

また、別のフォームとモデルを作成し、コントローラーに DB とフォームのコードを記述しないことをお勧めします。

また、user_id を取得するためにデータベースにクエリを実行するのはなぜですか? オブジェクトから user_id を取得できますauth

$user_id = $user->id;
于 2012-08-08T16:10:01.547 に答える