2017-11-24 9 views
0

の財産として、地図のコレクション私はこのようなテーブルを持っている:それはcourseCategoryが複数courseNamesを持つことができることを意味して enter image description hereLaravel |別のコレクション

CourseCategoryは、この表の重複を持つことができます。

$courseCategories = Course::all()->pluck('courseCategory')->unique(); 

enter image description here

をしかし、今、私は、このコレクション内のcourseCategoryにbelogingすべてcourseNamesをマッピングしたい:

私はこのようなすべてのcourseCategoryを取得しています。 私はこのようにアクセスできるようにしたい$courseCategories持つことができるように:そのよう$courseCategoriesはこれまでのところ、私が試してみました取得する

foreach($courseCategories as $courseCategory){ 
    foreach($courseCatgory->courseNames as name){ 
//code 
} 
} 

を:

foreach ($courseCategories as $courseCategory) { 

    $courseCategories->$courseCategory = Course::where('courseCategory', '=', $courseCategory)->pluck('courseName'); 

} 
    dump($courseCategories); 

かなり正しくないこのように見えます:

どうすればいいですか?

答えて

0

まずデータ

$data = Course::all() 

は、これらのカテゴリの子のそれぞれを得るために、いくつかのマッピングやフィルタリングを行うその後、そのカテゴリー

$categories = $data->pluck('courseCategory')->unique(); 

をゲット。

$result = $categories->map(function($category) use ($data) { 
    return $data->filter(function($row) use ($category) { 
     return $category == $row->courseCategory; 
    })->pluck('courseName'); 
}); 
関連する問題