Im new to this Framework, i dont know how to optimize it using db::raw count and aliases and display it to my blade.php using @foreach
im trying to optimize my code, my goals is to count pallet_conditions and store it to my aliases, i dont want to count it one by one like what i did on this code
this is my code not optimize:
//computing the total rapairable $repairable_total = DB::table('liip_psrm_items') ->where('psrm_items_id', '=' , $psrm_maintenance->id) ->where('pallet_condition', '=', 1) ->count(); //REPAIRABLE //computing the total good pallets $good_total = DB::table('liip_psrm_items') ->where('psrm_items_id', '=' , $psrm_maintenance->id) ->where('pallet_condition', '=', 0) ->count(); //GOOD
this is the code, what i wanted to learn. just to minimize, and use aliases
$result = DB::table('liip_psrm_items') ->select(DB::raw('COUNT(liip_psrm_items.pallet_condition = 0 ) AS condition_1', 'COUNT(liip_psrm_items.pallet_condition = 1 ) AS condition_2')) ->where('psrm_items_id', '=' , $psrm_maintenance->id) ->get();
Advertisement
Answer
Try to pass a closure like so:
$results = DB::table('liip_psrm_items') ->where('psrm_items_id', '=' , $psrm_maintenance->id) ->where(function($query){ $query->where('pallet_condition', 1) ->orWhere('pallet_condition', 0); })->count();