で別々の配列として、私は、この表でグループはlaravelのPHP
| id | category | size | created_at | updated_at | deleted_at |
+----+----------+------+---------------------+------------+------------+
| 1 | Regular | S | 2017-10-11 09:35:14 | NULL | NULL |
| 2 | Regular | XS | 2017-10-11 09:39:34 | NULL | NULL |
| 3 | Regular | M | 2017-10-11 09:39:37 | NULL | NULL |
| 4 | Regular | xxl | 2017-10-11 13:03:52 | NULL | NULL |
| 5 | Regular | l | 2017-10-11 13:03:59 | NULL | NULL |
| 6 | Regular | xm | 2017-10-11 13:04:03 | NULL | NULL |
| 7 | Small | em | 2017-10-11 13:05:04 | NULL | NULL |
| 8 | standard | em | 2017-10-13 07:16:50 | NULL | NULL |
size_chartテーブルの上に私はいくつかのサンプルデータを持っています。私はグループに
Regular = [s,xs,M,l,xm]
standard = [em]
small = [em]
For.eg
カテゴリ に基づいてサイズを必要とする私のPHPのコントローラ機能でこれを達成public function sizeFetch(Request $request){
$cat_id = $request->id;
$size_id = SizeCategory::where('category_id',$cat_id)->pluck('size_id');
$size_details = SizeChart::whereIn('id',$size_id)->get();
return $size_details;
}
今、この
[
{
id: 1,
category: "Regular",
size: "S",
created_at: "2017-10-11 09:35:14",
updated_at: null,
deleted_at: null
},
{
id: 2,
category: "Regular",
size: "XS",
created_at: "2017-10-11 09:39:34",
updated_at: null,
deleted_at: null
},
{
id: 3,
category: "Regular",
size: "M",
created_at: "2017-10-11 09:39:37",
updated_at: null,
deleted_at: null
},
{
id: 7,
category: "Small",
size: "em",
created_at: "2017-10-11 13:05:04",
updated_at: null,
deleted_at: null
}
]
のように、この関数の戻りくださいする方法この問題を解決する手助けをしてください
使用 'groupby'(SQLで
GROUP BY
は、おそらく代わりにAGGREGATE BY
と呼ばれている必要があります)。 – urfusionサイズを選択し、カテゴリ別にグループ化します。私は雄弁にこれをする方法があまりにも確信していますが。 – hungrykoala
この 'SizeChart :: whereIn( 'id'、$ size_id) - > groupBy( 'category') - > get();を試してください。 – Maraboc