Как мне обойти эту ошибку Zend_Form_Element_Select db? - PullRequest
0 голосов
/ 02 декабря 2009

Когда я использую элементы Zend_Form_Element_Select с несколькими вариантами, я получаю эту ошибку, когда передаю выбранное значение в Zend_DB_Table для вставки в БД

Message: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'accounts_status ' in 'field list'

Я извлек некоторые фрагменты кода, которые, я полагаю, послужат для иллюстрации моей проблемы. Поле accounts_status DOES существует в моей таблице

На моей конструкции формы добавлены элемент select и параметры (я пропустил остальные элементы)

    $optionsstatus = array(
                    'active' => 'active',
                    'pending' => 'pending'              
                    );
    $optionsrole = array(
                'guest' => 'guest',
                'user' => 'user',
                'writer' => 'writer',
                'admin' => 'admin'              
                );

    $status = new Zend_Form_Element_Select('accounts_status');
                     $status->setLabel('Status')
                    ->setRequired(true)             
                    ->addMultiOptions($optionsstatus);
    $role = new Zend_Form_Element_Select('accounts_role');
                     $role->setLabel('Role')
                    ->setRequired(true)
                    ->addMultiOptions($optionsrole);

Я использую Zend_DB_table для вставки значений сообщения из моего контроллера

public function addaccount($username, $fullname, $email,
        $password,$status,$roles,$comments)
    {
        $data = array(
                'accounts_username' => $username,
                'accounts_fullname' => $fullname,
                'accounts_email' => $email,
                'accounts_password' => $password,               
                'accounts_status ' => $status,
                'accounts_roles' => $roles,             
                'accounts_comments ' => $comments,
        );
        $this->insert($data);
    }

В моем контроллере я получаю значения постов и отправляю их на мою модель

$username = $form->getValue('accounts_username');
                $fullname = $form->getValue('accounts_fullname');
                $email = $form->getValue('accounts_email');
                $password = $form->getValue('accounts_password');
                $status = $form->getValue('accounts_status');
                $roles = $form->getValue('accounts_roles');
                $comments = $form->getValue('accounts_comments');
                $accounts = new Model_DbTable_Account();
                $accounts->addaccount($username, $fullname,$email,
                $password,$status,$roles,$comments);

Этот подход работает для меня, за исключением случаев, когда я имею дело с элементами Zend_Form_Element_Select. Мне просто интересно, существует ли особый способ работы с этими элементами select, когда дело доходит до операций CRUD.

1 Ответ

0 голосов
/ 02 декабря 2009
Message: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'accounts_status ' in 'field list'

Возможно, я сумасшедший, но мне кажется, что на этом конце этого 'accounts_status ' имени поля есть дополнительный пробел.

...