Это не совсем то, что вы ищете, но это может помочь другим пользователям.
Никогда не следует использовать данные в качестве имени столбца.
в вашем коде годаявляется столбцом, поэтому каждый год необходимо добавлять дополнительный столбец или, другими словами, он не учитывается.поэтому никогда не создавайте таблицы, которые легко читаются человеком, но не для компьютера.Я думаю, ваш дизайн таблицы выглядит следующим образом:
am | 2005 | 2006 | 2007
name1 | 1 | 0 | 1
name2 | 0 | 1 | 0
name3 | 0 | 0 | 0
Это мой рекомендуемый дизайн:
am | year
name1 | 2005
name2 | 2006
name1 | 2007
Или
am | year | win
name1 | 2005 | 1
name2 | 2006 | 1
name3 | 2007 | 0
, так что давайте предположим, что вы создали, используя последнийметод, то вы можете получить доступ к данным, как это:
Контроллер
$seasons= TeamRank::where('win', 1)->get();
Просмотр
@foreach($seasons as $win)
<strong>{{$win->year}} Winner</strong>
{{$win->am}}
@endforeach
См. Просто справа
так что о вашем вопросе, я думаю, что это лучший способ сделать это:
Контроллер
$years = [2006,2007,2008];
$YearsWins = [];
foreach($years as $year){
$YearsWins[$year] = TeamRank::select('am')
->where($year, 1)
->first()->am;
}
Просмотр
@foreach($YearsWins as $year=>$name)
<strong>{{$year}} Winner</strong>
{{$name}}
@endforeach