前提・実現したいこと
PHP(Laravel)で学習コミュニテイアプリを作成しています。
データベースのテーブルは
①ユーザ情報(users)②科目(tags)③課題(memos)
④進捗状況(works)⑤科目登録(registrations)
②科目(tags)③課題(memos)④進捗状況(works)⑤科目登録(registrations)これらを連携させて(ユーザが科目登録している科目のみの課題とその科目に対して登録した進捗状況を)表示したいです。④進捗状況が登録されていない場合のみ、②科目③課題⑤科目登録を連携したものを出力したいです。
mypage
1 <div class="card-body"> 2 3 @foreach ($memos as $memo) 4 5 <table class="table table-bordered"> 6 <thead> 7 8 <tr><th>科目名</th><td>{{$memo->tagname}}</td></tr> 9 <tr><th>提出期限</th><td>{{$memo->deadline}}</td></tr> 10 <tr><th>課題</th><td>{{$memo->content}}</td></tr> 11 <tr><th>進捗状況</th><td> <a href="/progressedit/{{ $memo['work_id'] }}" class='d-block'> 12 13 @if ($memo['progress']==1)未着手 14 @elseif($memo['progress']==2)進行中 15 @elseif($memo['progress']==3)苦戦中 16 @elseif($memo['progress']==4)完了 17 @else 未着手 18 @endif</a></li> 19 20 </td></tr> 21 <tr><th>難易度</th><td> 22 23 @if($memo['difficulty']==1)易 24 @elseif($memo['difficulty']==2)やや易 25 @elseif($memo['difficulty']==3)ふつう 26 @elseif($memo['difficulty']==4)やや難 27 @elseif($memo['difficulty']==5)難 28 @else --- 29 @endif 30 </td></tr> 31 </thead> 32 </table> 33 @endforeach 34
Homecontoroller
1$memos=Memo::leftjoin('registrations', 'memos.tag_id', '=', 'registrations.tag_id') ->where('user_id', \Auth::id()) 2 -> leftjoin('tags', 'memos.tag_id', '=', 'tags.tag_id')->orderBy('deadline')->where('status', '1') 3 ->get();
試したこと
上記の記述でしたら、科目登録した科目と課題が出てくるところまでしかできません。
ここに進捗状況を加えたく試しているのですが、うまくいきません。アドバイスいただきたいです。よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
初心者で至らない点が多いと思いますが、よろしくお願いいたします。
あなたの回答
tips
プレビュー