Home  >  Article  >  Backend Development  >  Yii2 framework implements analysis of common database operations

Yii2 framework implements analysis of common database operations

不言
不言Original
2018-06-15 14:58:101732browse

This article mainly introduces the summary of common operations of database implemented by Yii2 framework. The editor thinks it is quite good, so I will share it with you now and give it as a reference. Let’s follow the editor and take a look.

General:

use yii\db\Query;
$query = new Query();

##Query:

Query:

$rows = (new \yii\db\Query())
      ->select(['code', 'name', 'population'])
      ->from('country')
      ->limit(10)
      ->all();

Select:

$data = $query->select(['code', 'name'])->from('country')->all();

// 调用 yii\db\Query::addSelect() 方法来选取附加字段
    $data = $query->select(['code', 'name'])
      ->addSelect(['population'])->all();

From:

$query->from('country'); 
$query->from(['public.country c']); 
$query->from('public.country c');

Where:

String format, for example: 'status=1'

Hash format, for example: ['status' => 1, 'type' => 2]

Operator format, for example: ['like', 'name', ' test']

andFilterWhere()

orFilterWhere()

Active Record (Active Record, hereinafter referred to as AR) provides an object-oriented interface to access data in the database. An AR class is associated with a data table, each AR object corresponds to a row in the table, and the attributes of the object (that is, the attribute of AR) are mapped to the corresponding columns of the data row. An activity record (AR object) corresponds to a row of the data table, and the attributes of the AR object map to the corresponding columns of the row.

All additions, deletions and modifications here will use AR objects for mapping operations.

Add

$country->name = 'UK';
$country->save();

Modify

$country = Customer::findOne($id);
$country->email = 'UK';
$country->save(); // 等同于 $country->update();

Delete

$country = Country::findOne($id);
$country->delete();

Others

User::find()->all();  //返回所有用户数据;
User::findOne($id);  //返回 主键 id=1 的一条数据; 
User::find()->where(['name' => 'ttt'])->one();  //返回 ['name' => 'ttt'] 的一条数据;
User::find()->where(['name' => 'ttt'])->all();  //返回 ['name' => 'ttt'] 的所有数据;
User::findBySql('SELECT * FROM user')->all(); //用 sql 语句查询 user 表里面的所有数据;
User::findBySql('SELECT * FROM user')->one(); //此方法是用 sql 语句查询 user 表里面的一条数据;
User::find()->andWhere(['sex' => '女', 'age' => '18'])->count('id');  //统计符合条件的总条数;
User::find()->one();  //返回一条数据;
User::find()->all();  //返回所有数据;
User::find()->count();  //返回记录的数量;
User::find()->average();  //返回指定列的平均值;
User::find()->min();  //返回指定列的最小值 ;
User::find()->max();  //返回指定列的最大值 ;
User::find()->scalar();  //返回值的第一行第一列的查询结果;
User::find()->column();  //返回查询结果中的第一列的值;
User::find()->exists();  //返回一个值指示是否包含查询结果的数据行;

The above is the entire content of this article, I hope it will be helpful to everyone’s study, For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

yii2 component implements drop-down box search function

How Yii2 implements multiple searches at the same time Fields

About Yii Model query based on arrays and objects

##

The above is the detailed content of Yii2 framework implements analysis of common database operations. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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