【发布时间】:2012-04-19 17:14:46
【问题描述】:
我有两个表“登录”和“个人资料”。 login table 包含 user_id, username, password, type。 profile table 包含 profile_id, user_id, name, address, phone_no,email,status,pancardno,gender,birthday,joiingdate,endingdate。这里我使用user_id 作为reference key。表单包含用户名、密码、类型、姓名、地址、电话号码。那么如何在 Zend Framework 的配置文件表中插入用户名、密码、输入“登录”表和其他字段。
这是我的控制器代码。
include_once(APPLICATION_PATH.'/modules/admin/models/DbTable/Login.php');
public function emppostAction()
{
$session=new Zend_Session_Namespace();
if(isset($session->id))
{
$this->view->name="<b>".$session->name."</b>";
$this->render('employee');$data= new Model_DbTable_Login(); if($this->getRequest()->isPost()) { $un=$this->getRequest()->getPost('un'); $name=$this->getRequest()->getPost('name'); $bday=$this->getRequest()->getPost('bday'); $bmnth=$this->getRequest()->getPost('bmonth'); $byear=$this->getRequest()->getPost('byear'); $bdate=$byear."-".$bmnth."-".$bday; $jday=$this->getRequest()->getPost('jday'); $jmnth=$this->getRequest()->getPost('jmonth'); $jyear=$this->getRequest()->getPost('jyear'); $jdate=$jyear."-".$jmnth."-".$jday; $eday=$this->getRequest()->getPost('eday'); $emnth=$this->getRequest()->getPost('emonth'); $eyear=$this->getRequest()->getPost('eyear'); $edate=$eyear."-".$emnth."-".$eday; $phoneno=$this->getRequest()->getPost('phoneno'); $add=$this->getRequest()->getPost('add'); $qf=$this->getRequest()->getPost('qf'); $jod=$this->getRequest()->getPost('jod'); $email=$this->getRequest()->getPost('email'); $pwd=$this->getRequest()->getPost('pwd'); $gn=$this->getRequest()->getPost('gender'); $ms=$this->getRequest()->getPost('ms'); $desg=$this->getRequest()->getPost('desig'); $status=$this->getRequest()->getPost('status'); $pan=$this->getRequest()->getPost('pancard'); $insert=$data-> >insertData($un,$pwd$name,$bdate,$phoneno,$add,$qf,$jdate,$edate,$gn,$ms,$desg,$email,$pan,>$status); $this->_helper->redirector('viewemp', 'Leave'); exit; } } else { $this->_helper->redirector('login','index'); }}
在模型中我有
Model_DbTable_Login 类扩展 Zend_Db_Table_Abstract
{
公共函数 insertData($un,$pwd){
$data = 数组(
'用户名'=> $un,
'密码'=> $pwd
);
$data2 = 数组( '名称'=> $名称, '生日'=> $bdate, '电话号码'=> $电话号码, '地址'=> $add, '资格'=> $qf, '加入日期'=> $jdate, '结束日期'=> $edate, '性别'=> $gn, 'maritalstatus'=> $ms, '指定'=> $desg, '电子邮件'=> $电子邮件, 'pancardno'=>$pan, '状态'=> $状态 );try{ //here i m inserting data in login table. $result=$this->insert($data); // now here i want to insert data in profile table $profile=$this->insert($data2) }捕捉(例外 $e){
echo "
".$e;exit;
}
}
那么在登录表中插入数据的同时,如何在profile表中插入数据呢?
【问题讨论】:
-
login和profile的关系是1:1吗?如果是这样,在这种情况下合并它们不是更合乎逻辑吗? -
是否有理由拥有 profile_id 和 user_id。两个表都索引到 user_id 不是更容易吗?登录表将 user_id 作为自增,而配置文件表将 user_id 作为自然(分配而不是自增)键。除非您允许用户拥有多个个人资料。
-
@Rocky Yathanx Rocky Ford。不需要profile_id。但我无法回答我的问题。你能帮我解决这个问题吗?如何在登录表和配置文件表中插入数据。我可以在登录表中插入数据,但不能在配置文件表中。
标签: zend-framework