2017-08-09 5 views
1

色の名前に基づいてレコードをグループ化する際に問題があります。ここでは例を挙げて説明したいと思います。私は "BLUE JEAN(3)"という数量で3 & "BLUE JEANS MET(7)"という数量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 

が出力されているが、私はしたいですハイライトをマージするdデータ。 enter image description here

ご協力ありがとうございます。

+0

より正確にお願いしますか? "BLUE JEAN(3)"と "BLUE JEANS MET(7)"のどのようなオブジェクトですか? – louisfischer

+1

質問にモデルとDB構造を追加する方が良いでしょう。 – Laerte

+0

こんにちは、あなたの素早い応答のために@ louisfischerありがとう、 これは私がデータベーステーブルに追加したレコードであり、フロントエンドにそれらのすべてを表示しなければならないが、その異なる命名のために同様のデータが繰り返されています。 私は「BLUE JEAN」、「BLUE JEANS MET」、「BLUE JEANS」のようなものがあります。これらは類似したデータなので、それらをまとめて表示すると同時に、アイテムの総数を数えたいと思っています。 – Odhikari

答えて

1
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')->groupBy('name')->get(); 

戻るビュー( 'public/search_result'、compact( 'vehicles_colors')); }

+0

こんにちは@Kuldeep、それは私のために動作しません私は正確に同じ色の名前を持っていない。しかし、私は "ブルージーン"と "ブルージーンズ"のような類似の名前を持っています – Odhikari

+0

あなたがあなたの提案のような他のソリューションを使用したい場合は、同じ名前を使用する必要があります。 –

+0

あなたの提案に感謝します。それは有り難いです :) – Odhikari

関連する問題