Rumah > rangka kerja php > YII > teks badan

Operasi CRUD dalam rangka kerja Yii: Memudahkan operasi pangkalan data

WBOY
Lepaskan: 2023-06-21 12:34:06
asal
1205 orang telah melayarinya

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
Salin selepas log masuk

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',
        ];
    }
}
Salin selepas log masuk

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();
Salin selepas log masuk

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);
Salin selepas log masuk

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

3. Pertanyaan bersyarat

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

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();
Salin selepas log masuk

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();
Salin selepas log masuk

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();
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!