2016-07-29 40 views
1

我有一個控制器,我想在其中設置一個日誌,其中特定用戶可以看到任務的歷史記錄(看起來像({用戶}將任務設置爲{任務狀態}),他是否接受。任務或沒有我想設置這個「地位」的陣列裏,所以當我讓它顯示出來,它看起來像事件的列表array_push的問題

到目前爲止,這裏是它的外觀:

/** 
* @Route("/accept/{id}", name="mission_accept") 
* @Method("POST") 
*/ 
public function acceptAction(Request $request, Mission $mission){ 
    $form = $this->acceptMission($mission); 
    $form->handleRequest($request); 
    if($form->isSubmitted() && $form->isValid()){ 
     $user = $this->container->get('security.token_storage')->getToken()->getUser(); 
     $em = $this->getDoctrine()->getManager(); 
     $mission->setStatut("filled"); 
     $mission->setAppliedSchool($user->getEcole()); 
     $history = $mission->getHistory(); 
     $mission->setHistorique(array_push($history, 'Mission '.$mission->getStatut().' by'. $mission->getAppliedSchool())); 
     $em->persist($mission); 
     $em->flush(); 
    } 
    return $this->redirectToRoute('mission_index'); 
} 

「getAppliedSchool」通過接受或拒絕任務來改變任務狀態的用戶。

我的問題是,當我試圖保存這個狀態時,除了數組,我從數據庫中的默認值(a:0:{})變爲如下所示:a:2,我不知道爲什麼,一切正常。我想我做錯了什麼,但我不知道在哪裏以及如何。

有什麼想法?

回答

2

事情是array_push不返回一個數組。因此,只要改變你的代碼位:

array_push($history, 'Mission '.$mission->getStatut().' by'. $mission->getAppliedSchool()); 
$mission->setHistorique($history); 
+0

[鏈接](http://php.net/manual/fr/function.array-push.php#refsect1-function.array-push-returnvalues) – bourvill

+0

曾任職像一個魅力,謝謝! – Jaeger