Я пытаюсь получить результаты массива вроде:
array:3 [▼
0 => array:2 [▼
"name" => "Sedan Car"
"total" => 3089.0
]
1 => array:2 [▶]
2 => array:2 [▶]
]
Но, к сожалению, с моим кодом я получаю:
array:3 [▼
0 => array:3 [▼
"car_id" => 5
"total" => 3089.0
"vehicle_class" => array:13 [▼
"id" => 5
"type" => "Standard Car"
"name" => "Sedan Car"
Мой контроллер:
$target = Invoice::select('car_id')
->selectRaw("SUM(total_price) AS total")
->with('vehicleClass')
->groupBy('car_id')
->get()
->toArray();
dd($target);
$data = \Lava::DataTable();
$data->addStringColumn('Country')
->addNumberColumn('Popularity');
foreach($target as $row){
$data->addRow([$row['car_id'], $row['total'] ]);
$ket["totalTarget"] += $row['total'];
}
\Lava::DonutChart('Don', $data, [
'title' => $balanceT,
'height' => '300',
'is3D' => true,
]);
Модель счета-фактуры:
public function vehicleClass()
{
return $this->belongsTo(VehicleClass::class,'car_id');
}
Итак, мой вопрос, как взять значение имени из реляционной модели и добавить его в массив и получить SUM "total" столбца total_price
Чтобы было понятнее:
- Модель и таблица счета содержат [car_id, total_price]
Модель транспортного средства и таблица содержит [name, ..etc]
- Результаты, которые мне нужны [name, Sum [total_price]] name = card_id => в отношении modle
Заранее благодарю за помощь