我有一個基於顏色名稱對記錄進行分組的問題。在這裏我想用一個例子來解釋。數量爲3的「BLUE JEAN(3)」數量爲3 &「BLUE JEANS MET(7)」,我們可以一起組合嗎?我想要輸出BLUE JEAN(10)。如何在Laravel中對相似的記錄進行分組?
注意:這些已經分佈在具有不同ID的數據庫中。我有很多顏色,所以我只需要將這些相似的顏色分組,並且需要填充以進行搜索。
這裏是我的編碼結構:
型號:
class MyVehicle extends Model
{
protected $fillable = [
'name',
'color_id',
'stock_number'
];
}
控制器:
public function searchVehicleColor()
{
$vehicles_colors = DB::table('vehicles')
->select(DB::raw('COUNT(vehicles.color_id) as color_count'), 'colors.color')
->leftjoin('colors', 'colors.id', '=', 'vehicles.color_id')->get();
return view('public/search_result', compact('vehicles_colors'));
}
查看:
@foreach($vehicles_colors as $vehicles_color)
<li>
{{ Form::checkbox('color[]', $vehicles_color->color, null, ['class' => 'color field','id'=>$vehicles_series_color->color,'onClick'=>'reply_click(this.id)']) }}
<label for="{{$vehicles_color->color}}">{{$vehicles_color->color}}({{$vehicles_color->color_count}})</label>
<div class="check"></div>
</li>
@endforeach
請幫忙,提前致謝。
你能更精確嗎? 「BLUE JEAN(3)」和「BLUE JEANS MET(7)」是什麼樣的對象? – louisfischer
如果您在問題中添加模型和數據庫結構會更好。 – Laerte
感謝您的快速回復,您好@louisfischer, 這些是我在數據庫表中添加的記錄,必須在前端顯示所有記錄,但由於命名不同,類似的數據會重複。 在這裏,我有一些「藍色的JEAN」,「藍色的牛仔褲MET」和「藍色的牛仔褲」。這些是類似的數據,所以我想把它們放在一起顯示,並且還想要統計項目的總數。 – Odhikari