ThinkPHP6의 ORM 기능을 사용하는 방법

WBOY
풀어 주다: 2023-06-20 15:12:26
원래의
1806명이 탐색했습니다.

ThinkPHP6는 새로운 아키텍처 설계와 ORM 기능을 채택한 간단하고 사용하기 쉬운 고성능 PHP 개발 프레임워크입니다. 이 ORM 기능을 사용하면 애플리케이션에서 데이터베이스를 쉽게 관리 및 운영할 수 있으며, 간단한 코드를 통해 더 빠른 개발 및 변경이 가능해집니다. 이 기사에서는 ThinkPHP6의 ORM 기능을 사용하여 애플리케이션을 더 효과적으로 구축하고 유지 관리하는 방법을 알아봅니다.

  1. 데이터베이스 연결 구성

먼저 구성 파일에서 데이터베이스 연결을 설정해야 합니다. ThinkPHP6의 기본 구성 파일에서는 데이터베이스 구성이 config/database.php 파일에 저장됩니다.

// config/database.php
return [
    'type'            => 'mysql',
    'hostname'        => 'localhost',
    'database'        => 'testdb',
    'username'        => 'root',
    'password'        => '',
    'hostport'        => '',
    // 其他配置参数
];
로그인 후 복사

이 구성 파일에서는 연결에 필요한 매개변수를 설정할 수 있습니다. 이 예에서는 MySQL 데이터베이스를 사용하고 사용자 이름, 비밀번호 등 필수 매개변수를 설정합니다.

  1. 모델 클래스 만들기

모델 클래스는 데이터 관리 및 운영을 위한 핵심 클래스입니다. ORM 기능을 사용하려면 새로운 모델 클래스를 만들어야 합니다. ThinkPHP6에서는 아래와 같이 명령을 실행하여 모델 클래스를 생성할 수 있습니다.

php think make:model User
로그인 후 복사

위 명령을 실행하면 "User"라는 모델 클래스가 생성됩니다. 명령을 실행할 때 "-m" 및 "-r" 옵션을 사용하여 템플릿 및 유효성 검사기 기능이 포함된 모델 클래스를 생성할 수도 있습니다. 이러한 함수를 사용하여 양식 및 양식 유효성 검사기와 같은 자동 생성 코드를 생성할 수 있습니다.

php think make:model User -m -r
로그인 후 복사
  1. 모델 정의

다음으로 모델 클래스에서 데이터베이스 테이블에 해당하는 속성과 메서드를 정의할 수 있습니다. 다음 예에서는 "users" 테이블에 해당하는 모델 클래스를 정의합니다.

// app/model/User.php
namespace appmodel;

use thinkModel;

class User extends Model
{
    // 数据表主键
    protected $pk = 'id';
    // 数据表名(不含前缀)
    protected $name = 'users';
    // 开启时间戳记录
    protected $autoWriteTimestamp = true;
    // 定义非数据库字段
    protected $field = ['full_name', 'email'];
    // 远程一对多关联
    public function jobs()
    {
        return $this->hasManyThrough('Job', 'Department');
    }
}
로그인 후 복사

위 코드에서는 기본 키, 테이블 이름, 타임스탬프 레코드 등과 같은 모델 클래스의 기본 속성을 정의합니다. 모델에 사용하기 위해 데이터베이스가 아닌 필드를 정의할 수도 있습니다. 마지막으로 "작업"과 "사용자" 사이에 새로운 원격 일대다 연결을 설정하는 원격 일대다 연결 방법을 정의합니다.

  1. 데이터 쿼리

모델을 정의한 후에는 이를 사용하여 데이터를 쿼리할 수 있습니다. 다음은 ThinkPHP6에서 일반적으로 사용되는 쿼리 방법입니다.

  • 단일 레코드 쿼리
$user = User::find(1);
로그인 후 복사

위 코드는 ID 1의 사용자 레코드를 쿼리합니다.

  • 여러 레코드 쿼리
$users = User::select([1, 2, 3]);
로그인 후 복사

위 코드는 ID 1, 2, 3의 사용자 레코드를 쿼리합니다.

$users = User::where('name', 'like', 'Tom%')->order('name', 'desc')->limit(10)->select();
로그인 후 복사

위 코드는 이름이 "Tom"으로 시작하는 사용자 레코드를 쿼리하고 이름별로 내림차순으로 정렬하며 반환되는 레코드 수를 10으로 제한합니다.

  • 통계 쿼리
$count = User::count();
로그인 후 복사

위 코드는 "사용자" 테이블에 개수를 반환합니다.

$sum = User::where('age', '>=', 18)->sum('score');
로그인 후 복사

위 코드는 연령이 18세 이상인 사용자의 총점을 반환합니다.

  1. 데이터 업데이트 및 삽입

데이터를 업데이트하고 삽입하려면 모델 인스턴스의 속성과 메서드를 사용할 수 있습니다.

  • 업데이트 기록
$user = User::find(1);
$user->name = 'John Doe';
$user->save();
로그인 후 복사

위 코드는 ID 1을 가진 사용자의 이름을 "John Doe"로 업데이트합니다.

  • Insert Record
$newUser = new User;
$newUser->name = 'Jane Doe';
$newUser->email = 'jane@example.com';
$newUser->save();
로그인 후 복사

위 코드는 새로운 사용자 레코드를 생성합니다.

  1. 데이터 삭제

모델 클래스를 사용하면 레코드 삭제가 매우 간단합니다. 모델의 "delete()" 메소드를 호출하여 레코드를 삭제할 수 있습니다.

$user = User::find(1);
$user->delete();
로그인 후 복사

위 코드는 ID 1의 사용자 기록을 삭제합니다.

요약

ORM은 데이터베이스의 관리 및 운영을 용이하게 하는 기술입니다. ThinkPHP6의 ORM 기능을 사용하면 개발자가 이 작업을 더 쉽게 수행할 수 있습니다. 데이터베이스 연결 구성, 모델 클래스 생성, 데이터 쿼리, 데이터 업데이트 및 삽입, 데이터 삭제를 통해 애플리케이션을 더 빠르고 편리하게 개발하고 유지할 수 있습니다.

위 내용은 ThinkPHP6의 ORM 기능을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿