Laravel从多个分类中获取产品

时间:2014-11-09 04:46:17

标签: laravel paginate

我有3个表,产品,分类和product_taxonomy。第3个表是包含product_id和taxonomy_id的数据透视表,这意味着产品和分类是多对多的关系。给出一个分类标识列表,我如何获得属于这些分类标准的所有产品?注意:我希望产品结果集可以分页或按价格或其他顺序订购。

1 个答案:

答案 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();