我有一个基于颜色名称对记录进行分组的问题。在这里我想用一个例子来解释。数量为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