学说中n:m关系的性质

时间:2011-05-09 15:22:52

标签: symfony1 doctrine doctrine-1.2

Hy guys

我的对象有以下架构:

Product:
  columns:
    name:          { type: string(255) }

Basket:
  columns:
    current_status: { type: integer }
  relations:
    Products:     { class: Product, refClass: BasketProducts, onDelete: CASCADE }

BasketProducts:
  columns:
    product_id:   { type: integer, primary: true }
    basket_id:    { type: integer, primary: true }
    quantity:     { type: integer(4) }
  relations:
    Product:      { local: product_id, onDelete: CASCADE }
    Basket:       { local: basket_id, onDelete: CASCADE }

现在在前端,我尝试向用户展示篮子,通过

获取产品
foreach($basket->getProducts() as $product) {
  echo $product->getId();
  echo $product->getName();
}

现在的问题是,如何从BasketProducts访问数量字段?

1 个答案:

答案 0 :(得分:1)

您需要直接查询中间表才能执行此操作。

执行此操作的一种好方法是在Basket.class.php中添加一个函数,该函数将根据BasketID检索所需的数据。

如果您想在获取特定篮子时包含数据(即getBasketWithProductQuantities()),您也可以在BasketTable.class.php中创建该函数。

我目前没有任何教条代码。