私のデータベースには、「clients」、 「userProfile 」、および「sfGuardUsers」というテーブルがあります。
新しいクライアントを作成するときに、システムにプロファイルとユーザーを作成してもらいたいです。これが私がこれまでに持っているものです:
lib/form/doctrine/ ClientForm.class.php :
class ClientForm extends BaseClientForm
{
public function configure()
{
parent::configure();
$userProfileForm = new UserProfileForm($this->object->UserProfile->user);
$this->mergeForm($userProfileForm);
}
}
modules /client/action/actions.class.php :
class clientActions extends autoClientActions
{
public function executeCreate(sfWebRequest $request)
{
parent::executeCreate($request);
$this->client->createProfile($request->getParameter('email'),$request->getParameter('password'));
}
lib/model/doctrine/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 はユーザー''
名としてユーザーを作成します:(