我有两个表,类别和活动,其中我创建了一个数据透视表activity_categories,用于保存activity_id和category_id。
我已创建了可用于检索数据的模型,但现在我想从活动表中获取属于类别表中特定类别的所有活动。
我尝试使用循环,但无法使其正常工作。 我的代码如下:
//活动模型
public function category()
{
return $this->belongsToMany('App\Category','activity_categories');
}
//控制器
$activities = Activity::all();
foreach ($activities as $activity){
$fun = Activity::all()->where($activity->category->first()->name, 'fun');
dd($fun);
}
return view('layout.home', compact('activities'));
如果我尝试dd它返回null虽然我在这个类别中有很多数据。 请注意,活动可能属于许多类别
答案 0 :(得分:0)
您必须在Category
模型中定义反向关系:
public function activity()
{
return $this->belongsToMany('App\Activity', 'activity_categories');
}
然后像这样使用它:
$category = Category::find($id);
$activities = $category->activity;