我有两个表,category和activity,然后我创建了一个保存activity_id和category_id的数据透视表activity_categories。
我已经创建了用于检索数据的模型,但现在我想从属于category表中特定类别的活动表中获取所有活动。
我试着使用循环,但不能让它工作。我的代码如下:
//活动模型
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,尽管我在这个类别中有很多数据。请注意,一个活动可能属于多个类别
发布于 2018-06-11 07:53:46
您必须在Category
模型中定义反向关系:
public function activity()
{
return $this->belongsToMany('App\Activity', 'activity_categories');
}
然后像这样使用它:
$category = Category::find($id);
$activities = $category->activity;
https://stackoverflow.com/questions/50788996
复制相似问题