У меня есть таблица pointages, в которой записываются дни первых двухнедельных (с 01.02.2020 по 15.02.2020) рабочих по зарплате ie для месяца 02 и года 2020, таблица pointages содержит id, datep , salarie_id cle etranger de таблица наемных, проданное количество за день, теперь я хочу отобразить эту таблицу как идентификатор отчета, имя salar ie, сумму количества первых двух недель и, например, дней, которые будут работать в эти две недели если наемные работы 01.02.2020 необходимо поставить 1, если не ставит 0, см. рисунок.
Я пробовал этот код, но он не не выдает никаких ошибок и ничего не отображает.
SalarieController. php
public function etatq1(request $request){
$pointages = Pointage::get();
$salaries = Salarie::get();
$chantiers = Chantier::get();
if(isset($request)){
$ps = Pointage::select('id', 'datep')
->where('salarie_id', $request->salarie_id)
->whereRaw(DB::raw('YEAR(datea) = ' .$request->annee))
->whereRaw(DB::raw('MONTH(datea) = ' .$request->mois))
->whereRaw( DB::raw('DAY(datep)>0 AND DAY(datep)<16'))
->get();
}
/*2eme data */
if(isset($request)){
$dataP = DB::table('Salaries AS s')
->leftJoin('pointages AS p', 'p.salarie_id', '=', 's.id')
->leftJoin('avances AS a', 'a.salarie_id', '=', 's.id')
->groupBy('s.id')
->selectRaw('s.id AS "matricule",
s.nom AS "nom",
SUM(p.sold) as montant,
SUM(a.montantA) as avance')
->get();
}
return view('salarie.etatq1', compact('salaries','pointages','chantiers','dataP','ps'));
//dd($request);
}
etatq1.balde. php
<tbody>
@foreach($dataP as $data)
<tr>
<td>{{$data->matricule}}</td>
<td>{{$data->montant}}</td>
@for ($i = 1; $i < 16; $i++)
@foreach($ps as $p)
@if($p->DAY(datep) === $i)
<td class="numeric">1</td>
@else
<td class="numeric">0</td>
@endif
@endforeach
@endfor
<td class="numeric">{{$data->avance}}</td>
</tr>
@endforeach
</tbody>