2017-04-19 62 views
0

基本上我創建一個使用多個實體的表單,並且從此表單中檢索到的結果我希望另一個表中的股票分成BDD。我被告知在存儲庫中創建插入(或更新)請求,並在檢查提交的數據後從控制器調用它。但在這種情況下,在這種情況下將不會存在持久性或衝突,因爲您不保存與實體相對應的對象,因此不會存在持久性或刷新類似內容,但我到達時並非真的必須這樣做。Symfony - 在另一個實體上存儲數據

這就是爲什麼我要在另一個表來存儲:

enter image description here

當我驗證我的形式,我的結果是我的形式在這裏放養檢索(ID:6)

這是我的代碼:

public function testAction(Request $request){ 
    $poste = new Poste(); 
    $formPoste = $this->get('form.factory')->create(PosteType::class, $poste); 


    $historique = new Historique_employer(); 


    if ($request->isMethod('POST')&& $formPoste->handleRequest($request)->isValid()) { 

     $historique->setPoste($request->request['poste_id']->getData()); 
     $historique->setCity($request->request['City']->getData()); 
     $historique->setEmployer($request->request['Employer']->getData()); 
     $historique->setTemps($request->request['Temps']->getData()); 


     dump($poste);die(); 

     $em = $this->getDoctrine()->getManager(); 
     $em->persist($poste); 
     $em->persist($historique); 
     $em->flush(); 
    } 



    return $this->render(':stat:teste.html.twig', array(
     'poste' => $formPoste->createView(), 
     'historique' => $historique, 
     )); 

} 

,我想存儲在這個實體我的數據:

class Historique_employer 
{ 
    /** 
    * @var int 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 


    /** 
    * @var Poste 
    * @ORM\OneToOne(targetEntity="Poste") 
    */ 
    private $poste; 


    /** 
    * @var City 
    * @ORM\OneToOne(targetEntity="City") 
    */ 
    private $city; 


    /** 
    * @var Temps 
    * @ORM\OneToOne(targetEntity="Temps") 
    */ 
    private $temps; 


    /** 
    * @var Employer 
    * @ORM\OneToOne(targetEntity="Employer") 
    */ 
    private $employer; 

但是當我做的一切,我有這樣的錯誤消息:

不能使用類型的Symfony \分量\ HttpFoundation \ ParameterBag的對象數組

回答

1

Symfony 2.8 ParameterBag

你訪問像陣列一樣的請求參數使用 mixed get(string $key, mixed $default = null, bool $deep = false)

$historique->setPoste($request->request->get('poste_id')); 

改變其餘,你很好。

+0

謝謝,但我的字段在表 –

+0

NULL是否你知道我該怎麼做? –

相關問題