簡體   English   中英

Symfony&Doctrine2:“ mappedBy”注釋的值?

[英]Symfony&Doctrine2: Value of `mappedBy` annotation?

我正在使用教義2學習Symfony 3。

當我在Doctrine實體中具有OneToMany關系時,我到底要在mappedBy注釋中放什么呢?

  • 它是當前實體的表名嗎?
  • 還是實體快捷方式
  • 還是實際的班級名稱?

想象一下這個簡單的例子:

<?php
namespace AppBundle\Entity;

/**
 * @ORM\Entity
 * @ORM\Table(name="blog_category")
 */
class Category
{
    // ...

    /**
     * @ORM\OneToMany(targetEntity="Article", mappedBy="category")
     */
    private $articles;

    // ...

}

為什么“類別”的正確值是mappedBy 為什么不是“ blog_category”“ Category” (大寫的“ C”)? 還是“ AppBundle:類別”

現在我想通了。 它是相關實體類變量的名稱:-)

在此處輸入圖片說明

作為補充,幾乎在理論上您可以做的所有事情(肯定可以應用於任何其他ORM / ODM),在幾乎每種情況下(QueryBuilder,findBy方法...),您都將使用屬性名稱而不是名稱。

原因很簡單,無論數據庫引擎是什么,ORM都會處理對象及其屬性,抽象出真實的表及其列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM