salihy Ben ilk başta kayıtlar içerisinde aynı tedarikçinin tekrar gelebileceğini düşündüğüm için gruplama önermiştim ama sanırım sizde öyle bir durum yok. Her tarihte aynı ürün aynı tedarikçi ile bir kere eşleşiyor diye tahmin ediyorum. Şöyle yapalım:
$bitisTarihi = $request->date('tarih') ?? today();
$baslangicTarihi = $endDate
->copy()
->subDays(10);
$tarihler = Carbon\CarbonPeriod::create($baslangicTarihi, $bitisTarihi);
$girisler = Girisler::whereBetween('tarih', [$baslangicTarihi, $bitisTarihi])
->select('urun_id', 'tedarikci_id', 'toplam', 'tarih')
->latest('tarih')
->get();
$tedarikciler = Tedarikci::select('id', 'name')
->get();
$urunler = Urun::select('id', 'name')
->get();
$tariheGoreGirisler = collect($records)
->groupBy(‘tarih’)
->all()
->toArray();
return view('aylikgirisler', compact(
'bitisTarihi', 'baslangicTarihi', 'tarihler',
'girisler', 'tedarikciler', 'urunler', 'tariheGoreGirisler'
));
<table>
<thead>
<tr>
<th>Tedarikçi</th>
@foreach($tarihler as $tarih)
<th>{{ $tarih->format('d.m.Y') }}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach($tedarikciler as $tedarikci)
<tr>
<td>{{ $tedarikci->name }}</td>
@foreach($tarihler as $tarih)
<td>{{ data_get($tariheGoreGirisler, $tarih->toDateString()) }}</td>
@endforeach
</tr>
@endforeach
</tbody>
</table>
Ürün selectbox
<select>
<option value="">---</option>
@foreach($urunler as $id => $urunAdi)
<option value="{{ $id }}">{{ $urunAdi }}</option>
@endforeach
</select>