본문 바로가기
IT/PHP

PHP/Laravel(9) CRUD#2

by Sungjun_ 2020. 2. 22.

이번에는 CRUD 중 R을 해보겠습니다.

 

web.php와 BoardController.php에 코드를 추가합니다.

 

먼저 web.php 입니다.

 

<?php

Route::get('/boards', 'BoardController@index');
Route::get('/boards/create', 'BoardController@create');
Route::post('/boards','BoardController@store');
Route::get('/boards/{board}', 'BoardController@show');

 

 

다음으로 BoardController.php 입니다.

 

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Board;

class BoardController extends Controller
{
    public function index(){
        $boards = Board::all();
        return view('boards.index',compact('boards'));
    }

    public function create(){
        
        return view('boards.create');
    }

    public function store(Request $request){

        $board = Board::create([
            'title'=>$request->input('title'),
            'story'=>$request->input('story')
        ]);
        return redirect('/boards/'.$board->id);
    }

    public function show(Board $board){

        return view('boards.show',compact('board'));
    }
}

 

먼저 store 함수, create 페이지에서 작성 버튼을 눌렀을 때 

/boards/id값 페이지로 가게합니다.

 

show 함수는 다음에 만들 show.blade.php 파일에 $board를 넘겨줍니다.

 

show.blade.php를 만들어줍니다.

 

@extends('layouts.menu')

@section('title')
    Show Board
@endsection

@section('content')
    <p>Show Board</p>
    <p>제목 : {{$board -> title}}</p>
    <p>내용 : {{$board -> story}}</p>
@endsection

 

/boards/create로 가서 글을 작성해봅시다.

총 3개의 글을 작성했고 

작성을 하면

이렇게 제목과 내용을 볼 수 있는 것을 볼 수 있습니다.

 

그리고 index페이지에서 a태그를 사용해 링크를 걸어 제목을 클릭하면

내용을 보여주게 하겠습니다.

 

index.blade.php 수정입니다.

@extends('layouts.master')

@section('title')
    Board Index
@endsection

@section('content')
    <p>Board Index</p>
    @foreach ($boards as $item)
    <a href="/boards/{{$item->id}}">Title : {{$item->title}}</a><br>
    @endforeach

@endsection

 

저렇게 수정해준 후에

링크를 눌러보면

show 페이지로 넘어가 보여주는 것을 확인 할 수 있습니다.

 

 

이것으로 CRUD 중 R을 마치겠습니다.

 

 

 

기존 PHP만하다가 Laravel을 쓰니 적응이 잘 안되네요 ㅠㅠ

'IT > PHP' 카테고리의 다른 글

PHP/Laravel(11) CRUD#4  (0) 2020.02.23
PHP/Laravel(10) CRUD#3  (0) 2020.02.23
PHP/Laravel(8) CRUD#1  (0) 2020.02.22
PHP/Laravel(7) 모델  (0) 2020.02.21
PHP/Laravel(6) 데이터베이스 연결 및 생성  (0) 2020.02.21

댓글