2016-12-30 30 views
0

所以我有這個模塊化的Web應用程序已與doctrine2 zend框架1.12整合。返回對象的基礎上請求uri

所以我想要返回一個基於請求URI的對象,例如:url/api/people/1,它返回一個基於其id的人。 *注意,我可以返回所有人物,我只想在用戶輸入一個數字後選擇一個物體。

我試過的是從url中獲取參數,然後通過find函數傳遞它,但是教義不能理解通過uri傳遞的這些數字,並且認爲它們是動作。

if($this->getRequest()->isGet()) 
    { 
    $request = $this->getRequest(); 
    $id = $request->getParam('peopleId'); 

    $em = $this->getEntityManager(); 
    $peopleRepo = $em->getRepository('API\Entity\People'); 
    $people = $peopleRepo->find(3); //$id goes into find function 

     $resultArray[] = 
     [ 
     'id'   => $people->getId(), 
     'firstname' => $people->getFirstName(), 
     'lastname' => $people->getLastName(), 
     "food"  => $people->getFavoriteFood() 
     ]; 
    echo json_encode($resultArray, JSON_PRETTY_PRINT); 
    var_dump($people); 

*****編輯***** 所以我加入的代碼,我可以手動找到一個人,但我想這樣做,通過URL,我怎麼能做到這一點?

回答

0

嘗試:

$peopleRepo = $em->getRepository('API\Entity\People')->findBy(array('id' => $id)); 

或者

$peopleRepo = $em->getRepository('API\Entity\People')->findById($id); 

見主義文檔: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/working-with-objects.html#by-simple-conditions

+0

您的建議兩者是相同的是什麼問題了。 – Cerad

+0

@Cerad我認爲問題在於Doctrine找不到實體,但請求中的$ id是正確的。朱保羅能給我們更多的信息嗎? – Hokusai

+0

@hokusai所以我編輯了這篇文章,希望能夠回答你的問題。 –

相關問題