【问题标题】:Details list in symfony2, from two bundlessymfony2 中的详细信息列表,来自两个包
【发布时间】:2017-01-24 15:36:12
【问题描述】:

我对 Symfony 的开发很少,我有一个问题:显示一个包含两个 Bundle 详细信息的列表。

我的项目有一个所有者,但可以有 1 位以上的顾问。实体已关联,但结果列出时只能查看用户 ID。怎样才能看到用户名?

我将附上我的实体的图片。

谢谢, View Entities

【问题讨论】:

  • 请显示树枝代码,也许你没有正确循环关系......
  • 和你的实体的 php 代码

标签: symfony listview


【解决方案1】:

我需要显示项目中不同顾问的姓名。这些也是用户。我已经关联了项目的所有者,但是这个顾问是我实体中的一个字段。

要参考的附件图片,以及 php 和 twig 文件的内容。看图:Database relation, and view.

UserProjectController

public function showAction(UserProject $userProject, User $user) {
    $id      = $userProject->getId();
    $em      = $this->getDoctrine()->getManager();
    $project = $em->getRepository('ProjectBundle:Project')->find($id);
    $userProjects = $em->getRepository('ProjectBundle:UserProject')->findby(array('idproject' => $id, 'status' => '1'));
    if (empty($userProjects)) {
        return $this->redirectToRoute('userproject_new');
    }
    $users = $em->getRepository('UserBundle:User')->findby(array('id' => 1));

    return $this->render('ProjectBundle:Userproject:show.html.twig', array(
            'userProjects' => $userProjects, 'project' => $project, 'User' => $user,
        ));
}

实体用户

/**
 * @ORM\OneToMany(targetEntity="ProjectBundle\Entity\UserProject", mappedBy="user")
 */
protected $uproject;

实体用户项目

/**
 * @ORM\ManyToOne(targetEntity="ProjectBundle\Entity\Project", inversedBy="userproject")
 * @ORM\JoinColumn(name="project_id", referencedColumnName="id")
 * @Assert\NotBlank()
 */
protected $idproject;
/**
 * @ORM\ManyToOne(targetEntity="UserBundle\Entity\User", inversedBy="uproject")
 * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
 * @Assert\NotBlank()
 */
protected $user;

实体项目

/**
 * @ORM\OneToMany(targetEntity="ProjectBundle\Entity\UserProject", mappedBy="idproject")
 */
protected $userproject;

查看 show.html.twig

{% for userProject in userProjects %}
    <br>
    <dl>
    <dt><span class="text-primary">{{'User_id'|trans}}</span></dt>
        <dd>
            {{ userProject.user }}
            &nbsp;
        </dd>
        <br>
        <dt><span class="text-primary">{{'Consultor_id'|trans}}</span></dt>
        <dd>
            {{ userProject.consultorId }}
            &nbsp;
        </dd>
        <br>
        <dt><span class="text-primary">{{'Status'|trans}}</span></dt>
        <dd>
            {% if userProject.status == 1 %}
                <span class="text-success">{% trans %}Enabled{% endtrans %}</span>
            {% elseif userProject.status == 0 %}
                <span class="text-danger">{% trans %}Disabled{% endtrans %}</span>
            {% endif %}
            &nbsp;
        </dd>
        <br>
    </dl>
{% endfor %}

【讨论】:

    猜你喜欢
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    相关资源
    最近更新 更多