本人对Yii也是了解一些,平时用得比较少,一般是空余时间去熟悉一下这框架的一些用法,可能是用一个框架用久了有时突然换另一个框架还是不太适应它的用法,这里简单记录下在Yii里面基本的添删改查操作
新建一个测试表,里面三个字段:name(姓名),phone(电话),age(年龄),表名为ty_cs,ty_为表前缀。
添加数据:
$re=[
'name'=>'小王',
'phone'=>'13666666666',
'age'=>'20'
];
$db = \Yii::$app->db->createCommand();
$add=$db->insert('{{%cs}}',$re)->execute();
var_dump($add);
添加成功返回:int(1)
删除数据:
//将ty_cs表里面id为3的这条数据删除
$id=3;
$db = \Yii::$app->db->createCommand();
$del=$db->delete('{{%cs}}','id=:id',['id'=>$id])->execute();
var_dump($del);
删除成功返回:int(1)
修改数据:
//将id为4的这条数据的电话号码修改为18888888888
$save_data=[
'phone'=>'18888888888'
];
$id=4;
$save=$db->update('{{%cs}}',$save_data,"id=:id",['id'=>$id])->execute();
var_dump($save);
修改成功返回:int(1)
查询数据:
//查询ty_cs的所有数据
$db = \Yii::$app->db;
$data=$db->createCommand('select name,phone,age from {{%cs}}')->queryAll();
//或者这样
$db= (new \yii\db\Query());
$data=$db->select('name,phone,age')->from('{{%cs}}')->all();
分页查询:
$db= (new \yii\db\Query())->from('{{%cs}}');
$page_data=new Pagination([
'totalCount'=>$db->count(), //数据总条数
'defaultPageSize'=>1 //每页显示数据条数
]);
$data=$db->select('name,phone,age')->limit($page_data->limit)->offset($page_data->offset)->all();
return [
'data'=>$data, //数据集
'page'=>$page_data //分页
];
view显示:
<?php foreach($data as $v){?>
<?= Html::encode($v['name']);?>
<?php }?>
<?= \yii\widgets\LinkPager::widget([
'pagination' => $page,
'nextPageLabel' => '下一页',
'prevPageLabel' => '上一页',
'firstPageLabel' => '首页',
'lastPageLabel' => '尾页',
]);?>
结果显示:
将样式改为layui风格
/* layui分页; */
.pagination,
.pagination *{box-sizing: border-box; display: inline-block; vertical-align: top;}
.pagination{margin: 30px 0; border: 1px solid #009E94; border-right: none; border-bottom: none; font-size: 0;}
.pagination a,.disabled{margin: -1px; padding: 0 15px; line-height: 30px; border-right: 1px solid #009E94; border-bottom: 1px solid #009E94; font-size: 14px;}
.pagination .active a{background-color:#009E94; color: #fff !important;}
.pagination .disabled{color: #afa7a7!important;cursor: not-allowed!important;}
.pagination a:hover{color: #141514;background-color: #009E94 !important;}
效果
获取数据版本号
\Yii::$app->db->createCommand('select version()')->queryAll()