CI4 Playground v4.7.3
한국어문서
1
Model 기본 구조

Model 클래스에 테이블 정보, 허용 필드, 유효성 검사 규칙을 선언하면 CRUD 메서드를 자동으로 사용할 수 있습니다.

app/Models/PostModel.php
class PostModel extends Model
{
    protected $table         = 'posts';        // DB 테이블명
    protected $returnType    = Post::class;    // Entity 클래스로 반환
    protected $useSoftDeletes = true;          // 소프트 삭제 활성화
    protected $allowedFields = ['title', 'content', 'author', 'views'];
    protected $useTimestamps = true;           // created_at, updated_at 자동 관리

    protected $validationRules = [
        'title'   => 'required|min_length[2]|max_length[200]',
        'content' => 'required|min_length[10]',
        'author'  => 'required',
    ];
}
2
기본 CRUD 메서드
$model = new PostModel();

// 전체 조회
$posts = $model->findAll();

// ID로 단건 조회
$post = $model->find(1);

// 조건 조회
$post = $model->where('author', '김철수')->first();

// 삽입
$id = $model->insert(['title' => '새 글', 'content' => '...', 'author' => '홍길동']);

// 수정
$model->update(1, ['title' => '수정된 제목']);

// 삭제 (소프트 삭제: deleted_at 설정)
$model->delete(1);

// 완전 삭제
$model->delete(1, true);
실제 DB 조회 결과 (최신 5개)
ID제목작성자조회수작성일
10 Repository 패턴 적용 아키텍트 0 2026-05-27 14:29
7 캐싱 전략 #720 홍길동 237 2026-05-27 14:28
8 보안 best practice #921 홍길동 493 2026-05-27 14:28
9 PHP 기초 #249 이영희 365 2026-05-27 14:28
1 CodeIgniter 4 시작하기 김철수 142 2026-05-27 13:21
Query Builder

WHERE, JOIN, GROUP BY, 집계 함수를 PHP 코드로 작성합니다.

데모 보기
페이지네이션

paginate()로 데이터를 나눠서 보여주는 페이지네이션을 구현합니다.

데모 보기
Entity 클래스

데이터를 객체로 다루는 Entity 클래스와 커스텀 메서드를 알아봅니다.

데모 보기