>PHP 프레임워크 >YII >Yii 프레임워크의 CRUD 작업: 데이터베이스 작업 단순화

Yii 프레임워크의 CRUD 작업: 데이터베이스 작업 단순화

WBOY
WBOY원래의
2023-06-21 12:34:061228검색

Yii 프레임워크는 강력한 데이터베이스 지원과 사용하기 쉬운 CRUD 작업을 갖춘 MVC 아키텍처 기반의 고성능 웹 애플리케이션 개발 프레임워크입니다. CRUD 작업은 데이터베이스의 데이터를 추가, 삭제, 수정(생성, 읽기, 업데이트, 삭제)하는 작업을 의미합니다. 이 기사에서는 Yii 프레임워크의 CRUD 작업과 이를 활용하여 데이터베이스 작업을 단순화하는 방법을 자세히 살펴보겠습니다.

1. 모델

Yii 프레임워크에서 모델은 데이터베이스의 데이터를 조작하는 데 사용할 수 있는 데이터베이스 테이블과 관련된 클래스입니다. Yii 프레임워크에서는 Gii 도구를 통해 모델 클래스를 빠르게 생성할 수 있습니다. Gii는 컨트롤러, 모델, 폼, 뷰와 같은 기본 코드를 자동으로 생성할 수 있는 Yii 프레임워크와 함께 제공되는 코드 생성기입니다. Gii가 생성한 모델 클래스를 통해 데이터베이스의 데이터를 직접 추가, 삭제, 수정 및 쿼리할 수 있습니다.

예를 들어 우리 애플리케이션에는 users라는 사용자 테이블이 있습니다. 다음 명령을 통해 해당 모델 클래스를 생성할 수 있습니다.

yii gii/model --tableName=users

생성된 모델 클래스는 다음과 같습니다.

namespace appmodels;

use Yii;

/**
 * This is the model class for table "users".
 *
 * @property int $id
 * @property string $username
 * @property string $email
 * @property string $password_hash
 * @property int $status
 * @property string|null $auth_key
 * @property string|null $access_token
 */
class Users extends yiidbActiveRecord
{
    /**
     * {@inheritdoc}
     */
    public static function tableName()
    {
        return 'users';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['username', 'email', 'password_hash'], 'required'],
            [['status'], 'integer'],
            [['username', 'email', 'password_hash', 'auth_key', 'access_token'], 'string', 'max' => 255],
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'username' => 'Username',
            'email' => 'Email',
            'password_hash' => 'Password Hash',
            'status' => 'Status',
            'auth_key' => 'Auth Key',
            'access_token' => 'Access Token',
        ];
    }
}

모델 클래스에서 다음을 지정할 수 있습니다. 테이블 이름, 필드 규칙, 필드 레이블과 같은 정보입니다. yiidbActiveRecord 클래스를 상속함으로써 데이터베이스 작업을 쉽게 수행할 수 있습니다.

2. 쿼리

Yii 프레임워크에는 데이터를 쿼리하는 방법이 많이 있습니다. 다음과 같은 측면을 통해 소개하겠습니다.

1. 모든 데이터 쿼리

$users = Users::find()->all();

모델 클래스의 find() 메소드를 호출하여 쿼리 객체를 얻을 수 있고, all() 메소드를 호출하여 모든 쿼리 결과를 얻을 수 있습니다. .

2. 단일 데이터 쿼리

$user = Users::findOne($id);

모델 클래스의 findOne() 메서드를 호출하여 쿼리 결과를 얻을 수 있습니다.

3. 조건부 쿼리

$users = Users::find()
    ->where(['status' => 1])
    ->orderBy('id DESC')
    ->all();

모델 클래스의 where() 메서드와 orderBy() 메서드를 호출하여 쿼리 조건과 정렬 규칙을 지정할 수 있습니다.

3. 새로운 데이터 추가

Yii 프레임워크에서 데이터를 추가하는 것은 매우 간단합니다. 배열만 전달하면 됩니다. 예:

$user = new Users();
$user->username = 'test';
$user->email = 'test@example.com';
$user->password_hash = '123456';
$user->status = 1;
$user->save();

모델 클래스의 save() 메소드를 호출하면 데이터가 자동으로 데이터베이스에 저장됩니다.

4. 데이터 업데이트

Yii 프레임워크에서는 업데이트하려는 데이터를 먼저 쿼리한 다음 수정하고 저장하기만 하면 됩니다. 예:

$user = Users::findOne($id);
$user->username = 'newUsername';
$user->save();

모델 클래스의 findOne() 메서드를 호출하여 업데이트할 데이터를 가져온 다음 해당 필드를 수정하고 save() 메서드를 다시 호출하여 데이터를 업데이트할 수 있습니다.

5. 데이터 삭제

데이터 삭제는 데이터 업데이트와 유사합니다. 먼저 삭제하려는 데이터를 쿼리한 다음 delete() 메서드를 호출해야 합니다. 예:

$user = Users::findOne($id);
$user->delete();

해당 레코드는 모델 클래스의 delete() 메서드를 호출하여 데이터베이스에서 삭제할 수 있습니다.

6. 요약

이 기사에서는 Yii 프레임워크의 CRUD 작업과 이를 사용하여 데이터베이스 작업을 단순화하는 방법을 자세히 소개했습니다. Yii 프레임워크에서 제공하는 데이터 쿼리, 추가, 업데이트 및 삭제 방법을 사용하면 SQL 문을 직접 작성하는 것을 방지하고 개발 효율성을 향상하며 코딩을 더 간단하고 명확하게 만들 수 있습니다.

위 내용은 Yii 프레임워크의 CRUD 작업: 데이터베이스 작업 단순화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.