Laavel에서 belongsToMany를 진행해 보았습니다.2<관련 태그 가져오기>

  • 중간 테이블 구성 작성
  • 이거
  • 태그에서 관련 기사 가져오기
  • ※ 기본 내용은 이전 글에서 참고하시기 바랍니다.
    이번 추가 Controller 파일 index 내 + indexblade.php만

    모두추가범위↓


    TwiiteController.php
    public function index(Request $request)
        {
            $userId = Auth::id();//ログイン中のid
    
            $twiiteList = $this->twiite->where('user_id',$userId)
                ->orderby('created_at','desc')
                ->get();//ツイート全件取得
    
    +        foreach($twiiteList as $twiiteRecord){
    +
    +          $tags = $twiiteRecord->tags()->orderby('tag_id')->get();//中間テーブル経由でタグのrecordを取得
    +
    +          $tagName = [];
    +          foreach($tags as $tagRecord){//タグも複数あるので、繰り返す。
    +            $tagName[] = $tagRecord->name;//取得してきたレコードのid
    +          }
    +          $twiiteRecord['tags'] = $tagName;//送るデータに追加(同foreachで回すため)
    +        }
    
            return view('index', compact('twiiteList', 'userId'));//index view
        }
    
    index.php
        <h1>ーーーあなたのツイート一覧ーーー</h1>
    
          @foreach ($twiiteList as $twiite)
          <div style="border: 1px solid #000; display: block; width: 400px; margin-top: 2px">
            <p style="display: inline-block">{{ $twiite->contents }}</p>
          </div>
    +        @foreach($twiite->tags as $tag)
    +          <p style="display: inline-block; margin-left: 10px; border: 1px solid #5fa; width: 100px">{{ $tag }}</p>
    +        @endforeach
    
          @endforeach
    
    추가된 gitlink

    belongsTomany형 객체의 레이블을 가져옵니다.

    $tags = $twiiteRecord->tags()->orderby('tag_id')->get();
    //インスタンスオブジェクトからorderby()->get()をして、中間テーブルに対応する
    //タグのデータをすべて取得してきました。
    
    한 마디로 하면attache에서 사용하는 방법과 완전히 같다.
    get이면 리코더를 받을 수 있어요.이렇게 되면

    모든 탭 가져오기


    foreach로 돌기 때문에, 기사 전체 부품에서 라벨을 볼 수 있습니다.
    그리고 꼬리표가 많을 거예요. (그렇지 않으면 w를 안 해요)
    라벨을 얻은 후 보도된 데이터와 함께 보내고 싶기 때문이다
    foreach로 회전하여 대응하는 문장에 배열로 추가합니다.
    그리고 댓글 밖도 잘 보세요.

    따로 보낼 수 있지만 따로 보내면 일치성을 잃을 수도 있어요.
    무엇보다 사소한 일이라면 한 번에 처리하기 편하다.

    태그 표시


    css가 귀찮아서 안 썼어요.내련이 맞지 않다.
    글에 넣어서 가져왔기 때문에foreach에 탭의 수량만 표시합니다.

    다음


    다음번 상반된 내용을 얻다.표시를 누르면 그 관련 기사가 나올 거예요.

    좋은 웹페이지 즐겨찾기