【发布时间】:2013-11-14 05:13:13
【问题描述】:
我的问题本质上是这样的,我有一个使用相关模型间接引用模型的问题,例如“模型 A”有很多“模型 B”而“模型 B”有很多“模型 C”,所以本质上,“模型 A”有很多“模型 C”,但我不知道如何使用 hasMany 将它们关联起来。
现在我的实际情况是我有一个Shop有很多Product Categories,每个Product category有很多Product,所以Shop->ProductCategory用hasMany关联,ProductCategory->Products用hasMany关联,我想关联商店和产品,而无需在产品表中创建新列来存储商店 ID。
这是我的模型
/* Models */
// Shop.php
<?php
class Shop extends Eloquent {
public function productCategories() {
return $this->hasMany('ProductCategory');
}
}
?>
//Product.php
<?php
class Product extends Eloquent {
public function productCategory() {
return $this->belongsTo('ProductCategory');
}
}
?>
//ProductCategory.php
<?php
class ProductCategory extends Eloquent {
public function shop() {
return $this->belongsTo('Shop');
}
public function products() {
return $this->hasMany('Product');
}
}
?>
【问题讨论】: