2017-10-03 4 views
2

私はLaravel 5.4を使ってすべての生徒のマークを表示する必要があります。ビューで雄弁な質問の条件

$courses = Courses::find($id); 
$marks  = Marks::where([ 
          ['course_id','=',$id] 
          ])->orderBy('id','asc')->get(); 
return view('courses.show', compact('courses','marks')); 

:コントローラで

<table class="table table-hover"> 
    <thead class="text-center"> 
     <th class="text-center"> 
      <b>Alumno</b> 
     </th> 
    </thead> 
    <tbody class="text-left"> 
     @foreach($courses->tests-> as $t) 
     <tr> 
      <td> 
       <b>{{ $t->info->apaterno }} {{ $t->info->amaterno }}, {{ $t->info->name }}</b> 
      </td> 
      @foreach($courses->number->pupil as $m) 
      <td> 
       Nota {{ $m->mark }} 
      </td> 
      @endforeach 
     </tr> 
     @endforeach 
    </tbody> 
</table> 

だから、私の質問は以下の通りです。どのようにして<th>をテストとして作成すればいいですか?<td>が多くありますので、すべてのマークが瞳孔に属しています。

+0

モデルで定義された関係は何ですか? –

+0

コースbelongsTo学校////コースbelongsTo number ////コースは教授に属しています////コースhasManyテスト –

+0

そして、他のモデルMarksには以下の関係があります:marks belongsTo school // marks belongsToコース// marks belongsTo pupil //マークbelongsToテスト –

答えて

0

それはあなたが関係を持っているとき、あなたは関係を持っているCoursesモデルで仮定し、このようなものに動作します:これはあなたのコースを与える

$courses = Courses::find($id)->with('marks'); 

:次に、あなたがこのようなeager loadingなものを使用することができます

public function marks() 
{ 
    return $this->belongsTo('App\Marks'); 
} 

をそれに関連するマークが付いており、さらに効率的です。このことができますhttps://laravel.com/docs/5.4/eloquent-relationships#eager-loading

希望:

詳細については、あなたは、ドキュメントを参照してくださいすることができます。

+0

はい、実際には私は熱心な読み込みを使用しています。しかし、私の問題はループと関連しており、生徒IDとマークを関係させて確定的な '​​' –

+0

に表示する方法は何ですか?数字を探していますか?その番号をループするだけですか?? –

+0

私はあなたの意見を得ました。しかし、私はそれぞれのテストが異なる名前を持っていると思いますか? –