Rumah >rangka kerja php >YII >Operasi CRUD dalam rangka kerja Yii: Memudahkan operasi pangkalan data

Operasi CRUD dalam rangka kerja Yii: Memudahkan operasi pangkalan data

WBOY
WBOYasal
2023-06-21 12:34:061253semak imbas

Rangka kerja Yii ialah rangka kerja pembangunan aplikasi web berprestasi tinggi berdasarkan seni bina MVC, dengan sokongan pangkalan data yang berkuasa dan operasi CRUD yang mudah digunakan. Operasi CRUD merujuk kepada operasi menambah, memadam, mengubah suai (Buat, Baca, Kemas Kini, Padam) kepada data dalam pangkalan data. Dalam artikel ini, kami akan melihat dengan lebih dekat operasi CRUD dalam rangka kerja Yii dan cara anda boleh memanfaatkannya untuk memudahkan operasi pangkalan data.

1. Model

Dalam rangka kerja Yii, model ialah kelas yang dikaitkan dengan jadual pangkalan data, yang boleh digunakan untuk mengendalikan data dalam pangkalan data. Dalam rangka kerja Yii, kami boleh menjana kelas model dengan cepat melalui alat Gii. Gii ialah penjana kod yang disertakan dengan rangka kerja Yii, yang boleh menjana kod asas secara automatik seperti pengawal, model, borang dan pandangan. Melalui kelas model yang dijana oleh Gii, kita boleh terus menambah, memadam, mengubah suai dan menanyakan data dalam pangkalan data.

Sebagai contoh, terdapat jadual pengguna bernama pengguna dalam aplikasi kami Kami boleh menjana kelas model yang sepadan melalui arahan berikut:

yii gii/model --tableName=users

Kelas model yang dihasilkan adalah seperti berikut:

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',
        ];
    }
}

Dalam kelas model, kita boleh menentukan nama jadual, peraturan medan, label medan dan maklumat lain. Dengan mewarisi kelas yiidbActiveRecord, kami boleh melaksanakan operasi pangkalan data dengan mudah.

2. Pertanyaan

Dalam rangka kerja Yii, terdapat banyak cara untuk menanyakan data. Mari perkenalkannya melalui aspek berikut:

1 Tanya semua data

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

Anda boleh mendapatkan objek pertanyaan dengan memanggil kaedah find() kelas model, dan anda boleh mendapatkannya dengan. memanggil kaedah semua() Semua hasil pertanyaan.

2. Tanya sekeping data

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

Anda boleh mendapatkan hasil pertanyaan dengan memanggil kaedah findOne() kelas model.

3. Pertanyaan bersyarat

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

Anda boleh menentukan syarat pertanyaan dan peraturan pengisihan dengan memanggil kaedah where() dan kaedah orderBy() kelas model.

3. Menambah data baharu

Dalam rangka kerja Yii, menambah data adalah sangat mudah, anda hanya perlu menghantar tatasusunan. Contohnya:

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

Dengan memanggil kaedah save() kelas model, data akan disimpan secara automatik ke pangkalan data.

4. Kemas kini data

Dalam rangka kerja Yii, mengemas kini data juga sangat mudah Anda hanya perlu menanyakan data yang ingin anda kemas kini dahulu, kemudian mengubah suainya dan menyimpannya. Contohnya:

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

Anda boleh mendapatkan data untuk dikemas kini dengan memanggil kaedah findOne() kelas model, kemudian ubah suai medan yang sepadan dan panggil kaedah save() sekali lagi untuk mengemas kini data.

5. Padam data

Memadam data adalah serupa dengan mengemas kini data Anda juga perlu menanyakan data yang ingin anda padamkan dahulu, dan kemudian memanggil kaedah delete(). Contohnya:

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

Rekod yang sepadan boleh dipadamkan daripada pangkalan data dengan memanggil kaedah delete() kelas model.

6. Ringkasan

Dalam artikel ini, kami memperkenalkan secara terperinci operasi CRUD dalam rangka kerja Yii dan cara menggunakannya untuk memudahkan operasi pangkalan data. Dengan menggunakan kaedah bertanya, menambah, mengemas kini dan memadamkan data yang disediakan oleh rangka kerja Yii, kami boleh mengelak daripada menulis pernyataan SQL, meningkatkan kecekapan pembangunan dan menjadikan pengekodan kami lebih mudah dan jelas.

Atas ialah kandungan terperinci Operasi CRUD dalam rangka kerja Yii: Memudahkan operasi pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn