2015-04-18 56 views
-2

在我的控制器的一個動作我可以得到所有的條目 -提取實體

$entities = $em->getRepository('TestBuilderBundle:Questions')->findAll(); 

此行給了我所有的數組對象 -

array(1) { [0]=> object(stdClass)#318 (4) { 
    ["__CLASS__"]=> 
    string(37) "Test\BuilderBundle\Entity\Questions" 
    ["id"]=> 
    int(3) 
    ["question"]=> 
    string(24) "question;ans1;ans2;ans3;" 
    ["type"]=> 
    string(8) "checkbox" } } 

我如何可以提取這個對象來獲得 -

["question"]=> 
    string(24) "question;ans1;ans2;ans3;" 

我需要操縱「問題; ANS1; ANS2; ANS 3; 。「我的應用程序是否有Symfony2的任何方式

+1

您可能希望創建一個自定義功能到你的資料庫,建立自己的使用DBAL QueryBuilder查詢 –

+0

$ entities [0]會給你第一個實體,它只是一個奇特的數組,使用foreach來處理每個實體。 – Cerad

回答

0

只是那些已經從@AlexandruFurculita提出了一個基本的起點:

//Test/BuilderBundle/Entity/QuestionsRepository.php 
class QuestionsRepository extends EntityRepository 
{ 
    ... 
    public function getByColumns($columns) 
    { 
     return $this->createQueryBuilder('q') 
      ->select(implode(', ', array_map(function ($item) { return 'q.'.$item; }, $columns))) 
      ->getQuery() 
      ->getResult(); 
    } 
} 

// and inside your controller 
$questions = $em->getRepository('TestBuilderBundle:Questions')->getByColumns(['question', 'whatheverElse']);