У меня есть успешный запрос к базе данных в моем контроллере с использованием DB :: select, который дает мне хороший массив результатов, которые я проверил.Я хотел бы расположить это в представлении так, чтобы я мог просматривать месяцы, отсортированные по данным, а также набор динамических столбцов в базе данных по конкретному портфелю.Я могу жестко закодировать значения в блейде, но, очевидно, это не сработает для динамических столбцов.
Я предоставил код, а также сделал несколько дополнительных запросов mysql, но безрезультатно.Я прочитал бесчисленное количество сообщений на форумах и не нашел ничего подходящего, поэтому я решил, что буду публиковать.
$monthly_paid = DB::select('select year(date) as year, month(date) as month, sum(payment_amount) as total_monthly, p.portfolio_name as portfolio,
payment_amount, paid from funds
join portfolios as p where funds.portfolio_id = p.id and hide = 0
group by year(date), month(date), portfolio');
dd($monthly_paid);
Результаты запроса:
array:12 [▼
0 => {#217 ▼
+"year": 2018
+"month": 1
+"total_monthly": 2900.0
+"portfolio": "TW-CS"
+"payment_amount": "2900"
+"paid": 1
} ... etc.
Вот мой клинокпопытка:
@foreach ($monthly_paid as $monthly)
<div class="row">
<?php $monthNum = $monthly->month;
$dateObj = DateTime::createFromFormat('!m', $monthNum);
$monthName = $dateObj->format('F');?>
<div class="col-md-1">{{ $monthly->year }}</div>
<div class="col-md-1">{{ $monthName }}</div>
<div class="col-md-1">
@if($monthly->portfolio == "TW-CS")
@if($monthly->paid == 1)
<button type="button" class="btn btn-success btn-sm">
${{ number_format($monthly->payment_amount) }}
</button>
@else
${{ number_format($monthly->payment_amount) }}
@endif
@endif
</div>
<div class="col-md-1">
@if($monthly->portfolio == "TW-C12")
@if($monthly->paid == 1)
<button type="button" class="btn btn-success btn-sm">
${{ number_format($monthly->payment_amount) }}
</button>
@else
${{ number_format($monthly->payment_amount) }}
@endif
@endif
</div>
<div class="col-md-1">
@if($monthly->portfolio == "TW-C22")
@if($monthly->paid == 1)
<button type="button" class="btn btn-success btn-sm">
${{ number_format($monthly->payment_amount) }}
</button>
@else
${{ number_format($monthly->payment_amount) }}
@endif
@endif
</div>
<div class="col-md-2" style="background-color:#333333; color:#FFFFFF;">${{ number_format($monthly->total_monthly) }}</div>
</div>
@endforeach
Я пытаюсь получить следующий формат:
TW-CS TW-C12 TW-C22 TOTAL AMOUNT PAID
$7500 $7800 $8200 $23,500
Первый столбец - месяц, второй столбец - портфель 1, третий столбец - портфель 2, четвертый столбецэто портфель 3, а последний столбец - это сумма.
Очевидно, что в жестком коде он отображается правильно, но я пытаюсь его автоматизировать.