【问题标题】:How to mapping one relation trough another relation in Doctrine2如何在 Doctrine2 中映射一个关系到另一个关系
【发布时间】:2013-10-03 18:27:08
【问题描述】:

我有三个实体 Stock、StockDetail 和 CatalogHasStock。在CatalogHasStock 这是我的映射:

/**
 * @ORM\ManyToOne(targetEntity="StockBundle\Entity\StockDetail")
 * @ORM\JoinColumns(@ORM\JoinColumn(name="product", referencedColumnName="product"),
 *                  @ORM\JoinColumn(name="company", referencedColumnName="company"),
 *                  @ORM\JoinColumn(name="stock_detail", referencedColumnName="id"),
 *                  @ORM\JoinColumn(name="upc", referencedColumnName="upc"),
 *                  @ORM\JoinColumn(name="kcondition", referencedColumnName="kcondition"))
 */
protected $stock;

现在在StockDetail,这是映射:

  /**
   * @ORM\ManyToOne(targetEntity="StockBundle\Entity\Stock", inversedBy="sdetails")
   * @ORM\JoinColumns(@ORM\JoinColumn(name="product", referencedColumnName="product"),
   *                  @ORM\JoinColumn(name="company", referencedColumnName="company"),
   *                  @ORM\JoinColumn(name="kcondition", referencedColumnName="kcondition"))
   */
  protected $stock;

我需要在CatalogHasStock 中插入值,我这样做:

$catalog_has_stock = new CatalogHasStock ();
$catalog_has_stock->setStock($entityStockDetail);

但我收到此错误:

注意:未定义的索引:产品在 /var/www/html/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php 第 685 行

映射部分出了什么问题?

【问题讨论】:

    标签: symfony doctrine-orm


    【解决方案1】:

    尝试使用以下语法:

    * @ORM\JoinColumns({
    * @ORM\JoinColumn(name="product", referencedColumnName="product"),
    * @ORM\JoinColumn(name="company", referencedColumnName="company"),
    * @ORM\JoinColumn(name="kcondition", referencedColumnName="kcondition")
    * })
    

    等等。 好像忘记了{}

    【讨论】:

      猜你喜欢
      • 2020-05-20
      • 2017-03-12
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多