Ich habe verschiedene Abfragen, die unter verschiedenen Zeiträumen ausgewählt werden sollen. Ich möchte, dass sie auf einen BlickLaravel übergibt mehrere Variablen aus verschiedenen Abfragen an eine Ansicht
$sales = DB::table('sales')
->join('drugs', 'drugs.id', '=', 'sales.drug_id')
->select('sales.*','drugs.name', DB::raw('sum(sales.quantity_sold) as total_sales'))
->whereYear('date_sold','>','2014')
->whereYear('date_sold','<','2017')
->get()->groupBy('sales.drug_id');
$stocks = DB::table('sales')
->join('drugs', 'drugs.id', '=', 'sales.drug_id')
->select('sales.*','drugs.name', DB::raw ('AVG(sales.quantity_sold) as average_sales'))
->whereMonth('date_sold','=', Carbon::today()->month)
->get()->groupBy('sales.drug_id');
$data = $sales->merge($stocks);
Meiner Ansicht nach gebe ich einen Tisch haben wollen, wobei ich das Medikament, Gesamtumsatz und durchschnittliche Verkaufs in Folge haben wird.
@foreach($data as $key => $item)
<tr id="item{{$item->id}}"> <td>{{$item->name}}</td>
<td>{{$item->total_sales}}</td>
<td>{{number_format($item->average_stocks,0)}}</td>
Irgendwelche Vorschläge?
Ich bekomme einen Fehler, rufen Sie eine Member-Funktion merge() auf einem Nicht-Objekt – Ashley
Können Sie dd ($ sales) überprüfen, wie $ Umsatz aussieht? – Paras
Für den Vertrieb :: Array: 3 [▼ 0 => {# 323 ▼ + "name": "Isoniazid, 300mg" + "total_sales": "409" } 1 => {# 324 ▼ + "name": "Dapsone, 100mgs" + "total_sales": "256" } 2 => {# 325 ▼ + "name": "Nevirapine, 200mgs" + "total_sales": "384" } ] und für das Lager: Array: 3 [▼ 0 => {# 326 ▼ + "name": "Isoniazid, 300mg" + "average_sales": "37,5000" } 1 => {# 327 ▼ + "na me ": "Dapsone, 100mgs" +" average_sales ": "20,8462" } 2 => {# 328 ▼ +" name ": "Nevirapine, 200mgs" +" average_sales ": "32,0000" } ] – Ashley