2010-03-17 44 views

回答

1

你不使用的形式(因此你沒有通過對現場的Symfony教程不見了假設.. !),然後像下面這樣會在你行動的工作:

public function executeMyAction(sfWebRequest $request) 
{ 
    if ($request->isMethod("post")) 
    { 
    $postVar1 = $request->getParameter("postVar1"); 
    $postVar2 = $request->getParameter("postVar2"); 

    $model = new MyModel(); 
    $model->field1 = $postVar1; 
    $model->field2 = $postVar2; 
    $model->save(); 
    } 
} 

顯然,上述包括所有或驗證沒有數據的消毒;你需要自己實現這個。如果可能,儘量使用表單框架;所有的驗證都可以很好地爲你處理,你可以簡單地將你的請求參數傳遞給表單,讓它繼續:-)

+0

謝謝,但我使用表單保存數據。 $ this-> form-> bind($ request-> getParameter('question_answers')); \t \t \t如果($這 - >形式 - >的isValid()) \t \t \t \t {\t \t \t \t \t $這 - >形式 - > question_id = 2; \t \t \t \t $ this-> form-> save(); \t \t \t \t $ this-> redirect('@ homepage'); \t \t \t} 但我想添加一個exta字段,而不是輸入表格 – Warrior 2010-03-17 12:21:21

+0

在這種情況下,我會傳入id作爲表單的選項並覆蓋表單的doSave()。見http://stackoverflow.com/questions/2461585/passing-values-from-action-class-to-model-class-in-symfony/2461991#2461991 – richsage 2010-03-17 14:08:59