Home > PHP Framework > YII > body text

ActiveRecord in Yii framework: using databases more simply

WBOY
Release: 2023-06-21 10:59:58
Original
1431 people have browsed it

ActiveRecord in the Yii framework: using the database more simply

The Yii framework is an excellent PHP development framework that provides convenient ORM (Object Relational Mapping) tools, the most important of which is the ActiveRecord mode . ActiveRecord is a design pattern that maps the records of a data table into a PHP object. Developers can operate the data table through the properties and methods of the object. This article will introduce ActiveRecord in the Yii framework to help developers use databases more easily.

  1. Define ActiveRecord

First, you need to define a class inherited from yiidbActiveRecord in the Yii framework to operate a database table. For example, if you want to operate a table named "user", you can define a class named User:

<?php

namespace appmodels;

use yiidbActiveRecord;

class User extends ActiveRecord
{
    // ...
}
Copy after login
  1. Connect to the database

After defining the ActiveRecord class , the database connection needs to be configured in the Yii framework. Under normal circumstances, configuring the database in the Yii framework is very simple. You only need to specify the database connection parameters in the configuration file:

return [
    // ...
    'components' => [
        // ...
        'db' => [
            'class' => 'yiidbConnection',
            'dsn' => 'mysql:host=localhost;dbname=mydatabase',
            'username' => 'root',
            'password' => '123456',
        ],
    ],
];
Copy after login

After connecting to the database, you can operate the "user" table through the User class record of. For example, you can create a new user:

$user = new User();
$user->username = 'john';
$user->password = '123456';
$user->save();
Copy after login
  1. Query data

Through the ActiveRecord of the Yii framework, you can query the database very conveniently. For example, to find a user named "john":

$user = User::findOne(['username' => 'john']);
echo $user->username;
Copy after login

The findOne method here will return a User object, and the data in the database can be accessed and modified through the properties of the object.

In addition, we can also use ActiveQuery to query the database. ActiveQuery is a tool used to build query statements. It can build conditions, sorting, etc. through chain calls. For example, find all users whose username starts with "j":

$users = User::find()->where(['like', 'username', 'j'])->all();
foreach ($users as $user) {
    echo $user->username;
}
Copy after login

The find method here returns an ActiveQuery object, and query conditions can be added through the where method. The all method executes the query and returns the result set.

  1. Update data

Updating records is also very simple. You only need to modify the data through the properties of the ActiveRecord object and save it. For example, change the password of the user named "john" to "654321":

$user = User::findOne(['username' => 'john']);
$user->password = '654321';
$user->save();
Copy after login
  1. Delete data

Just like updating data, deleting data is also very simple. . You only need to use the delete method to delete a database record:

$user = User::findOne(['username' => 'john']);
$user->delete();
Copy after login
  1. Summary

In this article, we introduced the ActiveRecord mode in the Yii framework to help developers more Simply use the database. Using ActiveRecord of the Yii framework, developers can map database records into an object and operate the database through the properties and methods of the object, making development more convenient and efficient. When developing using the Yii framework, it is recommended to use ActiveRecord for database operations to improve development efficiency and code maintainability.

The above is the detailed content of ActiveRecord in Yii framework: using databases more simply. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template