在symfony2控制器中提取实体

时间:2015-04-18 14:54:00

标签: php symfony

在我的一个控制器操作中,我可以通过 -

获取所有条目
$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; ans3; ”。在symfony2中有什么办法吗?

1 个答案:

答案 0 :(得分: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']);