使用symfony + Doctrine中的一个表单更新multitables

时间:2012-05-03 09:49:49

标签: mysql forms doctrine symfony-1.4

您好我正在symfony建立一个注册系统。它有三个模型 - 用户,求职者和雇主。求职者和雇主继承用户。 求职者注册过程分为4个步骤,用户必须在第一步中输入他们的登录详细信息。它将被添加到用户表中。在接下来的步骤中,用户必须输入他的个人详细信息,它将被添加到求职者表中。

我想用一个表单更新用户表和jobseeker表,我该怎么办? (例如,地址和tp编号在用户表中,但它将在第二步中更新)


谢谢您的回复

它正在运作

我做的是

在我的dao课程中

 public function updateStep($step,$address, $phone, $id)
    {

        Doctrine_Query::create()
          ->update('User u')
          ->set('u.step', '?', $step)
          ->set('u.address', '?', $address)
          ->set('u.telephone', '?', $phone)
          ->where('u.user_id = ?', $id)
          ->execute();
    }

在表单类

public function updateStep()
    {       
            $step = $this->getValue('step');
            $phone = $this->getValue('phone');
            $address = $this ->getValue('address');
            $id = $this->getValue('user_id');

            $updateStep = $this->getUserManagementService()->updateStep($step, $address, $phone, $id);
            return $updateStep;
        }

最后在注册行动中

$this->form->updateStep();

它正在发挥作用,但我是以正确的方式做到了还是存在更简单的方法?

1 个答案:

答案 0 :(得分:0)

简单地说......您可以在第一步中从用户和新对象创建新对象,并将此对象放入会话中,在第二步中从会话中检索此对象并使用数据更新它

并在最后一步保存这两个对象。