Группировка из отношения laravel - PullRequest
0 голосов
/ 05 апреля 2020

Я просто хочу суммировать столбец кол-во_тонов от модели фактической_дискизации и группового типа_доставки_карты из расписания_загрузки

data: 
[{
   "actual_discharging":{
       "id": "2",
       "quantity_ton": "44",
       "actual_loading": {},
       "schedule_loading": {
           "id": "40",
           "vessel_type": "001 - Spot Contract",
           "destination": "002 - Export",
           "cargo_type": "004 - Container"
       }
    }

}]  

Я пытался использовать где, но он не работает

        $data = $data->select(DB::raw("SUM(quantity_ton) as total"))->whereHas('schedule_loading',function($query){
        $query->groupBy('cargo_type');
    })->get();

также пробовал этот код, но он также не работает

enter image description here

это модель и отношения

class ActualDischarging extends Model
{
    use Compoships;
    protected $table = "actual_discharging";

    protected $fillable = [
        'vessel','voyage_no','discharging_port','actual_arrival','actual_berthing','actual_discharging_from','actual_discharging_to','actual_departure','cement_type','packing','pack_kind','quantity_bag','quantity_ton','n_of_containers','shrinkage','shortage','overlanded','claim_rate','returning_port','actual_return_arrival'
    ];

    public function schedule_loading(){
        return $this->belongsTo('App\Model\ScheduleLoading',['vessel','voyage_no','cement_type','packing','pack_kind'],['vessel','voyage_no','cement_type','packing','pack_kind']);
    }
}

как мне сделать вывод отображать объекты с именем типа Cargo_type и его суммой?

...