Отображение данных из базы данных в блейд-таблице laravel

#html #laravel

#HTML #laravel

Вопрос:

У меня есть HTML-таблица, в которой я хочу отображать данные, полученные из таблицы базы данных.

Я успешно делал это с php в прошлом, но с Laravel в таблице ничего не отображается: ниже приведен код для отображения данных в таблице

 <tbody>
  @php
 $total_sales = 0;
 $comm_total = 0;
 @endphp

@foreach ($comm as $data){ 
  $comm_total  = $data->sales_comm; 
  $total_sales  = $data->sales_total;
<tr>
<td>{{$data->sales_date}}</td>
<td>{{$data->sales_total}}</td>
<td>{{$data->sales_comm}}</td>
</tr> 
@endforeach
  

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

И вот код контроллера

 $comm = DB::table('bakerysales')->where('customer_id', Auth()->id()
        ->whereMonth('sales_date',  $request->input('mn'))
        ->whereYear('sales_date', $request->input('yr'))
        ->get();

 return view('showCommission', compact('comm'));
  

Комментарии:

1. Используется для вывода значения в качестве отправной точки. dd() $comm

Ответ №1:

Вы почти на месте. 2 вещи:

Во-первых: @foreach ($comm as $data){ не требуется {

Во-вторых, при использовании тега @php вам нужно заключить все в квадратные скобки. Итак:

 @php
$total_sales = 0;
$comm_total = 0;
@endphp
  

Становится:

 @php( $total_sales = 0 )
@php( $comm_total = 0 )
  

Все вместе это выглядит следующим образом:

 @php( $total_sales = 0 )
@php( $comm_total = 0 ) // Note the omission of the ;

@foreach( $comm as $data )
    <tr>
        <td>{{$data->sales_date}}</td>
        <td>{{$data->sales_total}}</td>
        <td>{{$data->sales_comm}}</td>
    </tr> 
@endforeach 
  

Что касается вашего кода контроллера:

 // Make sure you call these at the top of your controller
use Auth;
use AppUser;

public function show( Request $request )
{
    $comm = DB::table('bakerysales')
        ->where('customer_id', Auth::id() ) // Getting the Authenticated user id
        ->whereMonth('sales_date', $request->input('mn') )
        ->whereYear('sales_date', $request->input('yr') )
        ->get();

    return view('showCommission', compact('comm') );
}