0
を保存するときにオブジェクトを作成します。「クライアント」、「USERPROFILE」、および「sfGuardUsersを」私はテーブルを持っている私のデータベースで別の
私はシステムプロファイルとユーザーを作成したいです私は新しいクライアントを作成します。ここで私がこれまで持っているものです:のlib /フォーム/ドクトリン/ ClientForm.class.phpで
:
のactions.class.php モジュール/クライアント/アクション/中class ClientForm extends BaseClientForm
{
public function configure()
{
parent::configure();
$userProfileForm = new UserProfileForm($this->object->UserProfile->user);
$this->mergeForm($userProfileForm);
}
}
:
のlib /モデル/ドクトリンでclass clientActions extends autoClientActions
{
public function executeCreate(sfWebRequest $request)
{
parent::executeCreate($request);
$this->client->createProfile($request->getParameter('email'),$request->getParameter('password'));
}
/Client.class.php:
public function createProfile($email, $password)
{
$profil = Doctrine_Core::getTable('UserProfile')->findOneByClientId($this->getId());
$profil->createUser($email, $password);
$profil->setClient($this);
$profil->save();
}
は、ログによると、createProfile(null, null)
が呼び出され、MySQLはそのユーザ名として''
を持つユーザーを作成します:(
私のユーザは「クライアント」でも「サプライヤ」でもかまいません。したがって、私がプロファイルクラスに持つのは、client_idとsupplier_idです。クライアントを追加すると、プロファイルを保存しなければなりません。 sfuser – Manu
どのようにサプライヤかクライアントかを決めるにはどうすればいいですか?さまざまなフォーム?次にsave/doSave/updateObjectメソッド(あなたの状況によって異なります)と '$ this-> getObject() - > –
はいadminsには、サプライヤを作成するフォームとクライアントを作成するフォームが用意されています。どちらも、プロファイルとsfUserを作成し、すべてのユーザーをリンクする必要があります。 – Manu