[英]Retrieving data between tables (Pivot Laravel 5.5)
我有兩個表,類別和活動,然后在其中創建了一個樞軸表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。 注意,一個活動可能屬於許多類別
您必須在“ Category
模型中定義反向關系:
public function activity()
{
return $this->belongsToMany('App\Activity', 'activity_categories');
}
然后像這樣使用它:
$category = Category::find($id);
$activities = $category->activity;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.