Laravel从多种分类中获取产品

Laravel从多种分类中获取产品,laravel,pagination,Laravel,Pagination,我有3个表,产品、分类法和产品分类法。第三个表是一个透视表,其中包含product_id和taxonomy_id,这意味着product和taxonomy是多对多关系。给定一个分类ID列表,如何获取属于这些分类的所有产品?注意:我希望产品结果集能够根据价格或其他信息进行分页或订购。您需要创建多对多关系,这需要关系方法,如: // Product Model public function taxonomies() { return $this->belongsToMany('Tax

我有3个表,产品、分类法和产品分类法。第三个表是一个透视表,其中包含product_id和taxonomy_id,这意味着product和taxonomy是多对多关系。给定一个分类ID列表,如何获取属于这些分类的所有产品?注意:我希望产品结果集能够根据价格或其他信息进行分页或订购。

您需要创建多对多关系,这需要关系方法,如:

// 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();

完美的已经设置了多对多关系,只是不知道如何编写查询…很高兴它有帮助:-)