WEBアプリケーション研究室 開発ノート TOP

WEBアプリケーション研究室 開発ノート [symfony] 1対1のリレーション[1]

スポンサーサイト

-------- --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

    このエントリーをはてなブックマークに追加

普通は同じテーブルにするのであんまりないかもしれないけど
sfGuardPluginを導入してみてProfile用のテーブルと1対1になってしまいました。
普通はactionでやるんでしょうけど
admingeneratorなんかでさくっと作成画面を作るならmodelいじっちゃった方が楽なのかなあ
とやってみました。
オブジェクトが新規のときにsfGuardUserをnewしてやれば良いのかな。


class Account extends BaseAccount
{
public function setPassword($value)
{
self::getsfGuardUser()->setPassword($value);
}

public function setEmail($value)
{
self::getsfGuardUser()->setUserName($value);
}

public function setIsActive($value)
{
self::getsfGuardUser()->setIsActive($value);
}

public function setIsSuperAdmin($value)
{
self::getsfGuardUser()->setIsSuperAdmin($value);
}

public function getPassword()
{
return null;
}

public function getEmail()
{
return self::getsfGuardUser()->getUserName();
}

public function getIsActive()
{
return self::getsfGuardUser()->getIsActive();
}

public function getIsSuperAdmin()
{
return self::getsfGuardUser()->getIsSuperAdmin();
}

public function getsfGuardUser($con = null)
{
if($this->asfGuardUser === null && $this->user_id === null)
{
$this->asfGuardUser = new sfGuardUser();
}
return parent::getsfGuardUser($con);
}
}

今まで自分が作ったシステムの拡張でマスターデータの管理画面を作る作業がたまにあるのですが、symfonyのadmingeneratorを試してからめんどくさくてしかたありません。これは便利です。
別サブドメインをあてて、マスターだけsymfonyを導入しようか検討中です。

[symfony 1.1.5]
スポンサーサイト

    このエントリーをはてなブックマークに追加
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。