私の質問は基本的にこれです。「モデル A」に多くの「モデル B」があり、「モデル B」に多くの「モデル C」がある場合のように、関連モデルを使用したモデルへの間接参照に問題があります。 be 'model A' には多くの 'model C' がありますが、hasMany を使用してそれらを関連付ける方法がわかりません。
今、私の実際の状況は、多くの製品カテゴリを持つショップがあり、各製品カテゴリには多くの製品があるため、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');
}
}
?>