PHP강좌/[라라벨]게시판만들기강좌
[라라벨+mysql]게시판 만들기 강좌 #21. 댓글 - 테이블생성
에스크리토
2024. 8. 2. 13:42
반응형
요즘 커뮤니티는 댓글이 중요하다. 여기서 만들어 볼 댓글은 댓글에 다시 댓글을 다는 것과 댓글에 첨부이미지를 넣을 수 있는 기능까지 해보려고 한다.
우선 테이블을 만들어 보자.
$php artisan make:model Memos -m
이렇게 하면 model만 만들겠다는 것이다. -m 뒤에 c를 붙이면 콘트롤러까지 만들어준다. 댓글은 콘트롤러가 필요없기때문에 모델만 만들었다.
database 폴더 밑에 migrations 폴더에 가면 파일이 생겼을 것이다. memos가 들어간 파일명을 찾아서 아래와 같이 수정해 준다.
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('memos', function (Blueprint $table) {
$table->id();
$table->integer('bid');
$table->integer('pid')->nullable();
$table->string('userid', 100);
$table->text('memo');
$table->tinyInteger('status')->default(1);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('memos');
}
};
댓글에 사용할 테이블을 만든다. 필요한 컬럼들을 만들어 주었다. 물론 나중에 컬럼이 추가로 필요해주면 추가해 줄 수 있다. 지금 완벽한 필요도 없고 완벽할 수도 없다.
$php artisan migrate
이렇게 해주면 테이블이 생성된다. file_tables 할때 했던거와 똑같다.
테이블이 생성됐으면 model을 조금 수정해준다.
/app/Models/Memos.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Memos extends Model
{
use HasFactory;
protected $fillable = [
'bid','pid','userid','memo'
];
}
데이터가 입력될 컬럼을 지정해 준다.
다음 시간엔 지금 만든 테이블을 이용해 댓글을 달아보자.
반응형