一、Yii框架自带CSRF防御;可以再类里面添加一行代码关闭CSRF防御:
//关闭CSRF防御
public $enableCsrfValidation = false;
二、sql语句方式进行数据库操作;
<?php
namespace backend\controllers;
use Yii;
use yii\web\Controller;
use app\models\entryForm;
use yii\db\ActiveRecord;
class TestController extends Controller
{
public function actionTest(){
#查询
Yii::$app->db ->createCommand("select * from 表名") ->queryAll();
#修改
Yii::$app->db ->createCommand()->update('表名',['字段名'=>要修改的值],'条件') ->execute();
#删除
Yii::$app->db ->createCommand() ->delete('表名','条件') ->execute();
#添加
Yii::$app->db ->createCommand() ->insert('表名',['字段名'=>要添加的值],'条件') ->execute();
}
}
三、函数方式操作数据库
1、查询
1.1一些简单查询函数
one(): 根据查询结果返回查询的第一条记录。
all(): 根据查询结果返回所有记录。
count(): 返回记录的数量。
sum(): 返回指定列的总数。
average(): 返回指定列的平均值。
min(): 返回指定列的最小值。
max(): 返回指定列的最大值。
scalar(): 返回查询结果的第一行中的第一列的值。
column(): 返回查询结果中的第一列的值。
exists(): 返回一个值,该值指示查询结果是否有数据。
where(): 添加查询条件
with(): 该查询应执行的关系列表。
indexBy(): 根据索引的列的名称查询结果。
asArray(): 以数组的形式返回每条记录。
1.2 应用实例
$model =new Test();
$model::find()->one(); 此方法返回一条数据;
$model::find()->all(); 此方法返回所有数据;
$model::find()->count(); 此方法返回记录的数量;
$model::find()->average(); 此方法返回指定列的平均值;
$model::find()->min(); 此方法返回指定列的最小值 ;
$model::find()->max(); 此方法返回指定列的最大值 ;
$model::find()->scalar(); 此方法返回值的第一行第一列的查询结果;
$model::find()->column(); 此方法返回查询结果中的第一列的值;
$model::find()->exists(); 此方法返回一个值指示是否包含查询结果的数据行;
$model::find()->asArray()->one(); 以数组形式返回一条数据;
$model::find()->asArray()->all(); 以数组形式返回所有数据;
$model::find()->where($condition)->asArray()->one(); 根据条件以数组形式返回一条数据;
$model::find()->where($condition)->asArray()->all(); 根据条件以数组形式返回所有数据;
$model::find()->where($condition)->asArray()->orderBy('id DESC')->all(); 根据条件以数组形式返回所有数据,并根据ID倒序;