我有兩個表users
和userslog
其中i有users
包含id
,username
,email
,gender
userslog
和包含id
,firstname
,lastname
,designation
和u_id
這是foreign key of users table
。如何在zend中的兩個表中插入zend表單值?
我的註冊控制器
class RegisterController extends Zend_Controller_Action
{
public function init()
{
/* Initialize action controller here */
}
public function indexAction()
{
$form = new Application_Form_register();
$this->view->form = $form;
if($this->getRequest()->isPost())
{
$data = $this->getRequest()->getPost();
}
}
}
我的註冊模式是
class Application_Model_DBtable_register extends Zend_Db_Table
{
protected $_name = 'users';
// i have to define two tables here!! how?
}
我的註冊Zend的形式
class Application_Form_register extends Zend_Form
{
public function init()
{
$this->setName('register');
$this->setMethod('post');
$firstname = $this->createElement('text', 'firstname');
$firstname->setLabel('FirstName: ')
->setRequired(true)
->setFilters(array(
'stringTrim','StringToLower'));
$lastname = $this->createElement('text', 'lastname');
$lastname->setLabel('LastName: ')
->setRequired(true)
->setFilters(array(
'stringTrim','StringToLower'));
$email = $this->createElement('text', 'email');
$email->setLabel('Email: ')
->setRequired(true);
$username = $this->createElement('text', 'username');
$username->setLabel('UserName: ')
->setRequired(true)
->setFilters(array(
'stringTrim','StringToLower'));
$password = $this->createElement('password', 'password');
$password->setLabel('Password: ')
->setRequired(true);
$password2 = $this->createElement('password', 'password2');
$password2->setLabel('Confirm Password: ')
->setRequired(true);
$submit = $this->createElement('submit', 'register');
$submit->setLabel('Register')
->setIgnore(true);
$this->addElements(array(
$firstname,
$lastname,
$email,
$username,
$password,
$password2,
$submit));
}
}
我該怎麼辦呢?我們可以使用Zend_Auth進行身份驗證嗎?如果是的話how.please給我舉例。我看到了$_dependantTable
和$_referenceMaps
,但我無法忍受它。我很困惑如何做到這一點,因爲我無法在課堂上多次定義表名。我必須在兩個不同的表中同時插入值。 Application_Model_DBtable_register
$db = new Application_Model_DBtable_register();
$db->instertValuesInUsers(array('column_name' => $data['value'], 'column_name' => $data['value'], ...........));
$db->insertValuesInUserslog(array('column_name' => $data['value'], 'column_name' => $data['value'], ...........));
在您:
其實我有計劃,加上'userlog_id'在'user'當任何一個都可以在'userslog'更新一些數據,那麼一個新的行插入,而不是更新同一列。 'userslog'的主要ID將被插入'users'表中的'userslod_id'中。 –