小编Đur*_*nić的帖子

如何使用Doctrine ResultSetMapping获取相关实体的集合?

我使用Doctrine 2.3.4.和Symfony 2.3.0

我有两个实体:PersonApplication.

当某个人申请工作时,会创建应用程序.

从关系PersonApplicationOneToMany,双向的.

这里使用常规Doctrine文档,我设法只在使用单个实体时才能获得正确的结果集.但是,当我添加连接实体时,我获得了根实体的集合,但加入了错误的相关实体.

换句话说,问题是我得到了一个应用程序集合,但都拥有相同的Person.

原生sql查询,直接执行时返回正确的结果.

这是代码:

$sql = "SELECT a.id, a.job, p.first_name, p.last_name 
        FROM application a 
          INNER JOIN person p ON a.person_id = p.id";

    $rsm = new ResultSetMapping;

    $rsm->addEntityResult('\Company\Department\Domain\Model\Application', 'a');
    $rsm->addFieldResult('a','id','id');
    $rsm->addFieldResult('a','job','job');

    $rsm->addJoinedEntityResult('\Company\Department\Domain\Model\Person' , 'p', 'a', 'person');

    $rsm->addFieldResult('p','first_name','firstName');
    $rsm->addFieldResult('p','last_name','lastName');

    $query = $this->em->createNativeQuery($sql, $rsm);

    $result = $query->getResult();

    return $result;
Run Code Online (Sandbox Code Playgroud)

以下是实体类:

namespace Company\Department\Domain\Model;


use Doctrine\ORM\Mapping as ORM;


/**
* Person
*
* @ORM\Entity
* …
Run Code Online (Sandbox Code Playgroud)

doctrine symfony doctrine-orm

8
推荐指数
1
解决办法
8253
查看次数

如何在Symfony2表单上翻译"(可选)"

我有一些不需要的表单类型.表单标签应该是本地化的,这很容易.

但是,当您将某种表单类型配置'required'=>'false'为时,会在类型标签后面出现单词"(可选)".

翻译"可选"或禁用它的正确方法是什么?

顺便说一句.我现在根本没有看到任何方式.

谢谢

 "require": {
     "php": ">=5.3.3",
     "symfony/symfony": "v2.3.0",
     "doctrine/orm": ">=2.2.3,<2.4-dev",
     "doctrine/doctrine-bundle": "1.2.*",
     "twig/extensions": "1.0.*",
     "symfony/assetic-bundle": "2.1.*",
     "symfony/swiftmailer-bundle": "2.3.*",
     "symfony/monolog-bundle": "2.3.*",
     "sensio/distribution-bundle": "2.3.*",
     "sensio/framework-extra-bundle": "2.3.*",
     "sensio/generator-bundle": "2.3.*",
     "jms/security-extra-bundle": "1.4.*@dev",
     "jms/di-extra-bundle": "1.3.*@dev",
     "twitter/bootstrap" : "dev-master",
     "cg/kint-bundle": "dev-master",
     "raveren/kint": "dev-master",
     "mopa/bootstrap-bundle": "dev-master",
     "sonata-project/intl-bundle": "dev-master",
     "egeloen/ckeditor-bundle": "2.*"
},
Run Code Online (Sandbox Code Playgroud)

symfony

4
推荐指数
1
解决办法
2008
查看次数

标签 统计

symfony ×2

doctrine ×1

doctrine-orm ×1