반응형
기존에 게시물 보기 페이지는 board 테이블의 컬럼에서 한개의 첨부 파일을 가져와서 보여주는 방식이었고 변경할 방식은 files_tables 테이블에 등록돼 있는 첨부파일 정보를 가져와서 보여주는 방식이다.
우선 콘트롤러 부터 수정해보자.
/app/Http/Controllers/BoardController.php
public function show($bid,$page)
{
Board::find($bid)->increment('cnt');
$boards = Board::findOrFail($bid);
$boards->content = htmlspecialchars_decode($boards->content);
$boards->pagenumber = $page??1;
$attaches = FileTables::where('pid',$bid)->where('code','boardattach')->where('status',1)->get();
return view('boards.view', ['boards' => $boards, 'attaches' => $attaches]);
}
$attaches라는 변수에 첨부 파일의 정보를 모두 담는다. $attaches로 보내주면 view에서 뿌려주면 된다.
/resources/views/boards/view.blade.php
@extends('boards.layout')
@section('header')
@include('boards.toptitle', ['toptitle'=>'게시판 보기', 'multi'=>$boards->multi])
@endsection
@section('content')
<table class="table table-striped table-hover">
<tbody>
<tr>
<th width="200">제목</th>
<td>{{ $boards->subject }}</td>
</tr>
<tr>
<td colspan="2">글쓴이 : {{ $boards->userid }} / 조회수 : {{ number_format($boards->cnt) }} / 등록일 : {{ $boards->regdate }}</td>
</tr>
<tr>
<th width="200">내용</th>
<td>{!! nl2br($boards->content) !!}</td>
</tr>
@if(count($attaches)>0)
<tr>
<th width="200">첨부 이미지</th>
<td>
<div class="row row-cols-1 row-cols-md-6 g-4" id="attachFiles" style="margin-left:0px;">
@foreach ($attaches as $att)
<div id='af_{{ $att->id }}' class='card h-100' style='width:120px;margin-right: 10px;margin-bottom: 10px;'><img src='/images/{{ $att->filename }}' width='100' /></div>
@endforeach
</div>
</td>
</tr>
@endif
</tbody>
</table>
<div align="right">
<a href="/boards/{{ $boards->multi }}/?page={{ $boards->pagenumber }}" class="btn btn-primary">목록</a>
</div>
@endsection
이렇게 보이면 성공이다.
다음엔 수정과 삭제를 해보자.
반응형
'PHP강좌 > [라라벨]게시판만들기강좌' 카테고리의 다른 글
[라라벨+mysql]게시판 만들기 강좌 #18. 게시물 수정하기 (0) | 2024.07.30 |
---|---|
[라라벨+mysql]게시판 만들기 강좌 #17. 팝업으로 이미지 보기 (0) | 2024.07.30 |
[라라벨+mysql]게시판 만들기 강좌 #15. 첨부파일 방식 변경(게시판에 등록) 4/4 (0) | 2024.07.25 |
[라라벨+mysql]게시판 만들기 강좌 #14. 첨부파일 방식 변경(첨부파일 삭제) 3/4 (0) | 2024.07.25 |
[라라벨+mysql]게시판 만들기 강좌 #13. 첨부파일 방식 변경(ajax로 파일 첨부) 2/4 (0) | 2024.07.25 |