【发布时间】:2016-02-08 16:37:43
【问题描述】:
我被困在这条路上太久了,无法自己解决,所以这是我的问题:
我的数据库被衣服填满了。我想根据颜色展示相关的衣服。
我的人际关系:
(Product.php)
public function colors(){
return $this->belongsToMany('App\Color', 'colors_products', 'FK_product', 'FK_color');
}
(颜色.php)
public function products(){
return $this->belongsToMany('App\Product', 'colors_products', 'FK_color', 'FK_product');
}
所以每个product 都有多个colors。我想在同一页面上显示相关的作品。因此,如果我正在看一件颜色为“红色”和“黑色”的作品,我想展示标有“红色”和/或“黑色”的相关衣服。所以它不必既是红色又是黑色。
我怎样才能得到像我正在看的那件衣服一样具有一种(有时是多种)颜色的所有衣服?
更新
Product::with('colors')->whereIn('id', $arColors)->get(); 是解决方案的一部分。当我有 2 种颜色(红色和黑色)的产品时,我会看到只有黑色或只有红色的相关产品。但是当我看一个只有黑色的产品时,多个颜色的相关项目不显示。
【问题讨论】:
-
$arColor 数组中列出了哪些颜色?您如何识别数据库中的“红黑”?
标签: php laravel laravel-5 eloquent relationship