如何使用存储在另一个实体上的ID获取特定的实体属性?

时间:2019-04-15 19:22:45

标签: php symfony doctrine

因此,我有一个假定实体,其中包含另一个名为annoncesemplois的id,我正在尝试使用存储在实体假定中的idAnnEmp并从数据库中获取annoncesemplois的标题(titre),并使用树枝

许多或其他协会的学说对您有帮助吗?

test();
function test(){
  var i = 0;        
  var delay = setInterval(function(){
    console.log("Running: "+i);
    i++;
    if(i === 3) {
      // -->
      console.log("Refreshing...");
      reloadP();
      clearInterval(delay);
    }
  }, 2000);
}

function reloadP() {
  sessionStorage.setItem("reloading", "true");
  document.location.reload();
}

window.onload = function() {
  var reloading = sessionStorage.getItem("reloading");
  if (reloading) {
    sessionStorage.removeItem("reloading");
    test();
  }
}
/**
 * Annonceemplois
 *
 * @ORM\Table(name="annonceemplois", indexes={@ORM\Index(name="FK_ANNONCEEMPLOIS_idUser", columns={"idUser"})})
 * @ORM\Entity
 */
class Annonceemplois
{
    /**
     * @var integer
     *
     * @ORM\Column(name="IDANNEMP", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $idannemp;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="DATECREATION", type="date", nullable=true)
     */
    private $datecreation;

    /**
     * @var float
     *
     * @ORM\Column(name="PRIX", type="float", precision=10, scale=0, nullable=true)
     */
    private $prix;

    /**
     * @var string
     *
     * @ORM\Column(name="TITRE", type="string", length=255, nullable=true)
     */
    private $titre;

    /**
     * @var string
     *
     * @ORM\Column(name="DESCRIPTION", type="string", length=255, nullable=true)
     */
    private $description;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="DUREE", type="date", nullable=true)
     */
    private $duree;

    /**
     * @var integer
     *
     * @ORM\Column(name="idUser", type="integer", nullable=true)
     * 
     */
    private $iduser;

这是我要展示的地方

/**
 * Postulation
 *
 * @ORM\Table(name="postulation", indexes={@ORM\Index(name="FK_POSTULATION_id", columns={"id"}), @ORM\Index(name="FK_POSTULATION_idAnnEmp", columns={"idAnnEmp"})})
 * @ORM\Entity
 */
class Postulation
{
    /**
     * @var integer
     *
     * @ORM\Column(name="IDPOSTULATION", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $idpostulation;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="DATEPOSTULATION", type="date", nullable=true)
     */
    private $datepostulation;

    /**
     * @var string
     *
     * @ORM\Column(name="ETAT", type="string", length=255, nullable=true)
     */
    private $etat;

    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=true)
     */
    private $id;

    /**
     * @var integer
     *
     * @ORM\Column(name="idAnnEmp", type="integer", nullable=true)
     */
    private $idannemp;

2 个答案:

答案 0 :(得分:0)

您可以使用“关系”来获取相关实体。例如:

  

在Postulations.php中添加oneToMany关系并初始化字段:

public function __construct(){
    $this->annonceemplois = new ArrayCollection();    
}

/**
 * @ORM\OneToMany(targetEntity="App\Entity\Annonceemplois", 
 mappedBy="postulation")
 */
    private $annonceemplois;
  

在Annonceemplois.php中

/**
 * @ORM\ManyToOne(targetEntity="App\Entity\Postulation", 
 inversedBy="annoceemplois")
 */
    private $postulation;

答案 1 :(得分:0)

该解决方案如何:

class Annonce 
{
    /**
     * @ORM\OneToMany(targetEntity="Postulation", mappedBy="annonce")
     *
     */
    private $postulations;

    public function __construct()
    {
        $this->postulations = new ArrayCollection();
    }
}

class Postulation
{
   /**
    *@ORM\ManyToOne(targetEntity="Annonce", inversedBy="postulations")
    *@ORM\JoinColumn(name="annonce_id", referencedColumnName="id")
    */
    private $annonce;
}

在树枝上,您可以使用此:

<div class="row">
                <div class="col-md-9">

                    <div class="panel panel-default">
                        <div class="panel-body posts">

                            <div class="row">
                                <div class="col-md-6">
                                    {% for post in postulations %}
                                    <div class="post-item">
                                        <div class="post-title">
                                           {{ post.annonce.titre }}
                                        </div>
                                        <div class="post-date"><span class="fa fa-calendar"></span> {{ post.datepostulation | date }} / {{ post.etat }}</div>
                                    </div>
                                    {% endfor %}
                                </div>

                            </div>

                        </div>
                    </div>
                </div>
            </div>