私はlaravelで始まり、ある時点であなたの意見を聞きたいと思います。私の場合、複数のクエリを実行するよりも良い方法はありますか?
私はコントローラを持っています。このコントローラでは、すべてのSQLクエリであるビューといくつかの関数を返します。
私はさまざまな種類のforeachを表示するため、これらのすべてのクエリが必要です。これは適切なやり方なのでしょうか、それとも短い/より適切なものがありますか?
マイコントローラ:
protected function indexWeb()
{
return view('pages.web.program', [
'getAllCoursesBloc1' => $this->getAllCoursesBloc1(),
'getAllCoursesBloc2' => $this->getAllCoursesBloc2(),
'getAllCoursesBloc3' => $this->getAllCoursesBloc3(),
'getWebCoursesBloc1' => $this->getWebCoursesBloc1(),
'getWebCoursesBloc2' => $this->getWebCoursesBloc2(),
'getWebCoursesBloc3' => $this->getWebCoursesBloc3(),
$this->setMetasIndex()
]);
}
protected function getAllCoursesBloc1()
{
$courses = Course::where('bloc', 1)
->OrderBy('title', 'ASC')
->get();
return $courses;
}
protected function getAllCoursesBloc2()
{
$courses = Course::where('bloc', 2)
->OrderBy('title', 'ASC')
->get();
return $courses;
}
... and so on
@foreach($getWebCoursesBloc1 as $key => $course)
<tr class="link-row" data-href="{{ $course->slug }}">
<td class="program-table__orientation">{{ $course->orientation }}</td>
<td class="program-table__course">
<a href="{{ url('cours/'.$course->slug) }}" class="program-table__course__link">
<span class="program-table__course__name">{{ $course->title }}</span>
</a>
<span class="program-table__course__desc">{{ $course->shortdescription }}</span>
</td>
<td class="program-table__hour"><span>{{ $course->duration }}</span></td>
<td class="program-table__ects"><span>{{ $course->ects }}</span></td>
<td class="program-table__quad"><span>{{ $course->quadrimester }}</span></td>
</tr>
@endforeach
はどうもありがとうございました私の見解でのforeachのexemple
:
は「ブロック」でコースを取得するには1つの使用に等しいです。たとえば。それらをモデルに移動するか、リポジトリレイヤを使用する場合は、そこに配置する必要があります –