Php 信条:如何结合3表,以多对多的态度
共有3个表格:Php 信条:如何结合3表,以多对多的态度,php,doctrine,Php,Doctrine,共有3个表格: catalog product product2catalog 表product2catalog由以下字段组成: catalog_id product_id 如何在目录中获取商品?如何重建连接以便能够执行此操作: $CatalogTable = CatalogTable::getInstance(); $Catalog = $CatalogTable->find( $id ); var_dump( $Catalog->product ); 你能帮我吗?如上文所述
catalog
product
product2catalog
表product2catalog
由以下字段组成:
catalog_id
product_id
如何在目录中获取商品?如何重建连接以便能够执行此操作:
$CatalogTable = CatalogTable::getInstance();
$Catalog = $CatalogTable->find( $id );
var_dump( $Catalog->product );
你能帮我吗?如上文所述,多对多关系在理论上很容易 按如下方式设置关系:(在catalog表的setUp()函数中) 同样,在YAML中:
Catalog:
# ...
relations:
# ...
Products:
class: Product
local: catalog_id
foreign: product_id
refClass: product2catalog
您还必须对product类执行相同的操作-完全相同的语法,只需反转本地/外部引用即可 要查询多对多关系,可以执行以下操作:
$q = Doctrine_Query::create()
->from('Catalogue c')
->leftJoin('c.Product p')
->where('c.id = ?', $id);
$c = $q->fetchArray();
$q = Doctrine_Query::create()
->from('Catalogue c')
->leftJoin('c.Product p')
->where('c.id = ?', $id);
$c = $q->fetchArray();