如何返回具有特定类别的模型

时间:2017-02-03 11:30:29

标签: laravel

我有一个可以有多个类别的模型,关系定义如下:

public function categories()
{
    return $this->belongsToMany(ListCategory::class, 'listing_listcategory', 'listing_id', 'category_id');
}

和内部类别模型我有:

public function listings()
{
    return $this->belongsToMany(Listing::class, 'listing_listcategory');
}

如何仅选择属于一个类别的模型?

目前我有这个:

Listing::closest($lat, $lng, $radius)->orderBy('distance');

根据位置返回最接近的模型,如何仅返回具有特定类别的模型?

1 个答案:

答案 0 :(得分:1)

使用knownTimeZoneNames方法:

Listing::closest($lat, $lng, $radius)
       ->whereHas('categories', function($q) use($categoryId) {
           $q->where('id', $categoryId);
       })
       ->orderBy('distance')
       ->get();