ユーザーが編集できない隠しフィールドがいくつかある symfony フォームがありますが、フォームを送信すると自動的に設定されます。設定できないように見える 1 つのフィールドは、userID です。フォームは保護されているため、表示するには認証が必要です (sfDoctrineGuardPlugin)。
私が探しているのは、「user_id」フィールドを現在ログインしているユーザー名に設定するフォームです。クラスファイルでこれを試しました。
if ($this->isNew() && ! $this->getSeller_Id())
{
$this->setSeller_Id($this->getUser()->getGuardUser()->getUsername());
}
ただし、現在のテーブルにユーザー フィールドがないことを示すエラーが常に返されます。私はそれを正しく説明したことを願っています。