我有3个表,产品,分类和product_taxonomy。第3个表是包含product_id和taxonomy_id的数据透视表,这意味着产品和分类是多对多的关系。给出一个分类标识列表,我如何获得属于这些分类标准的所有产品?注意:我希望产品结果集可以分页或按价格或其他顺序订购。
答案 0 :(得分:1)
您需要创建many-to-many
关系,并且需要关联方法,例如:
// Product Model
public function taxonomies()
{
return $this->belongsToMany('Taxonomy');
}
// Taxonomy Model
public function products()
{
return $this->belongsToMany('Product');
}
查询:
$listOfTaxonomyIds = [1,2,3];
$products = Product::whereHas('taxonomies', function($query) use ($listOfTaxonomyIds){
$query->whereIn('taxonomy_id', $listOfTaxonomyIds);
})->get();