Laravel:根据类别检索服务数据 - 多对多关系

时间:2018-04-08 00:33:30

标签: laravel laravel-5 laravel-4 laravel-5.2 laravel-5.3

我目前是Laravel的新手,正在开展一个项目

服务和类别属于多对多关系。 如

public function categories()
    {
      return $this->belongsToMany('App\category');
    }

public function services()
    {
      return $this->belongsToMany('App\Service');
    }

我有数据库表格

Services [service_id, service_name]
Categories[category_id, category_name]
category_service[id, service_id, category_id] 

我想从DB表服务中检索所有服务,其中category_id = 1。

请告诉我哪种类型的查询有助于在控制器中编写逻辑。

我的控制器代码:

public function index()
    {
      $services = DB::table('services')->paginate(2);
      return view('user.home')->with('services', $services)->with('categories', Category::all())->with('$workingday', Workingday::all());

    }

提前谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

Service::whereHas('categories', function($query) {
    $query->where('categories.category_id', 1);
})->get();