#javascript #php #laravel #laravel-4 #laravel-3
#javascript #php #laravel #laravel-4 #laravel-3
Вопрос:
Итак, я пытаюсь отобразить таблицу с помощью php (в данном случае движка создания шаблонов laravel blade). Идея заключается в том, что когда у вас есть дата, время которой равно следующему item_date, оно будет иметь colspan.
Я смог заставить ее работать с диапазоном 2
@if ($index != $timesheetweeks.length() - 1 amp;amp; $timesheetweek[$index]['start_date'] == $timesheetweek[$index 1]['start_date'])
<td colspan="2">{{{ $timesheetweek->start_date }}}</td>
@elseif ($index != 0 amp;amp; $timesheetweek[$index]['start_date'] == $timesheetweek[$index - 1]['start_date'])
@else
<td>{{{ $timesheetweek->start_date }}}</td>
@endif
Но что, если у вас их 3 или более?
Комментарии:
1. Вы можете добавить все даты в $ array, затем сравнить count ($array) с count(array_unique($array)), чтобы узнать, сколько столбцов нужно охватить 😉
Ответ №1:
Я бы сказал, попробуйте поместить эту логику в свой контроллер и передать элементы в представление в формате, подобном:
elements [
1 => element1,
2 => array(
element2,
element3
),
3 => element4
]
Где элементы 2 и 3 совместно используют один и тот же ‘start_date’.
На ваш взгляд:
// foreach ( ... as element )
@if ( is_array($element) )
// found some share dates
// td colspan=count($element)
@else
// no share
@endif