Приветствую!
Использую Slim + Eloquent ORM + Twig.
Есть модель Расписания:
class Schedule extends Model
{
public function employee()
{
return $this->belongsTo(Employee::class);
}
}
Расписание получаю так и передаю в шаблон переменную schedules:
$schedules = Schedule::all();
В переменной schedules данные в таком виде:
{"employee_id":260,"start_date":"2020-04-26","start_time":"16:14:39","end_time":"20:14:44"},
{"employee_id":20,"start_date":"2020-04-28","start_time":"16:14:39","end_time":"20:14:44"},
{"employee_id":260,"start_date":"2020-04-29","start_time":"16:14:39","end_time":"20:14:44"},
{"employee_id":20,"start_date":"2020-04-30","start_time":"16:14:39","end_time":"20:14:44"},
{"employee_id":20,"start_date":"2020-05-02","start_time":"16:14:39","end_time":"20:14:44"},
{"employee_id":260,"start_date":"2020-05-02","start_time":"16:14:39","end_time":"20:14:44"}
Вид расписания на странице должен быть в таком виде:
<table>
<tr>
<th>Сотрудник</th>
<th>26.04</th>
<th>27.04</th>
<th>28.04</th>
<th>29.04</th>
<th>30.04</th>
<th>01.05</th>
<th>02.05</th>
</tr>
<tr>
<td>260</td>
<td>16:14 - 20:14</td>
<td></td>
<td></td>
<td>16:14 - 20:14</td>
<td></td>
<td></td>
<td>16:14 - 20:14</td>
</tr>
<tr>
<td>20</td>
<td></td>
<td></td>
<td>16:14 - 20:14</td>
<td></td>
<td>16:14 - 20:14</td>
<td></td>
<td>16:14 - 20:14</td>
</tr>
</table>
и визуально:
Так вот в чём вопрос: как реализовать вывод такой структуры расписания в twig? Проблема заключается в повторяющихся employee_id с разными датами. Воответственно, в колонке Сотрудник не должно быть повторений employee_id, а даты должны заполняться по столбцам.
Надеюсь, что идею вы поняли. Спасибо!