欢迎您访问我的笔记本站旨在于记录一些平时工作中遇到的一些问题和解决方法,方便查阅,部分内容来源于网络,如有侵权请联系我删除
  • 微信微信
您现在的位置是:首页 > PHP后端

Yii之添删改查-[原创]

日期:2018-09-21 09:49:11 作者:tanyi 来源:我的笔记 浏览:1059 次
本人对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' => '尾页',
]);?>

结果显示:

image.png

将样式改为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;}

效果

image.png


获取数据版本号

\Yii::$app->db->createCommand('select version()')->queryAll()


提交评论
评论列表