yii2(yii2框架的优缺点)

软件教程 2023.01.03 156

目录:

Yii2框架操作数据库的方法分析【以mysql为例】

本文实例讲述了Yii2框架操作数据库的方法。分享给大家供大家参考,具体如下:

准备数据库

DROP

TABLE

IF

EXISTS

`pre_user`;

CREATE

TABLE

`pre_user`(

`id`

int(11)

AUTO_INCREMENT

PRIMARY

KEY,

`username`

varchar(255)

NOT

NULL,

`password`

varchar(32)

NOT

NULL

DEFAULT

'',

`password_hash`

varchar(255)

NOT

NULL

DEFAULT

'',

`email`

varchar(255)

NOT

NULL

DEFAULT

'',

`status`

smallint(6)

NOT

NULL

DEFAULT

10,

`created_at`

smallint(6)

NOT

NULL

DEFAULT

0,

`updated_at`

smallint(6)

NOT

NULL

DEFAULT

)ENGINE=InnoDB

DEFAULT

CHARSET=utf8mb4;

配置连接

config\db.php

?php

return

[

'class'

=

'yii\db\Connection',

'dsn'

=

'mysql:host=localhost;dbname=yii2',

'username'

=

'root',

'password'

=

'root',

'charset'

=

'utf8mb4',

'tablePrefix'

=

'pre_'

];

查看数据库连接是否成功

控制器里打印:

var_dump(\Yii::$app-db);

怎么执行SQL语句?

增删改

//

接收表单的数据

$username

=

'jack';

$sql

=

"INSERT

INTO

{{%user}}

(username,status)

VALUES

(:username,:status)";

//

返回受影响行数

$row

=

\Yii::$app-db-createCommand($sql,['username'=$username,'status'=8])-execute();

//

获取自增ID

echo

\Yii::$app-db-getLastInsertID();

查询

$sql

=

"SELECT

*

FROM

{{%user}}

WHERE

id:id";

//

查询结果是一个二维数组

$userArr

=

\Yii::$app-db-createCommand($sql,['id'=1])-queryAll();

//

如果要查询一个

$user

=

\Yii::$app-db-createCommand($sql,['id'=1])-queryOne();

//

如果要返回单值

//

例如

select

count(*)语句

$count

=

\Yii::$app-db-createCommand($sql,['id'=1])-queryScalar();

echo

$count;

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

您可能感兴趣的文章:Yii2.0高级框架数据库增删改查的一些操作Yii2——使用数据库操作汇总(增删查改、事务)Yii2数据库操作常用方法小结Yii2框架实现数据库常用操作总结Yii2实现跨mysql数据库关联查询排序功能代码Yii+MYSQL锁表防止并发情况下重复数据的方法Yii

连接、修改

MySQL

数据库及phpunit

测试连接Yii实现MySQL多数据库和读写分离实例分析Yii操作数据库实现动态获取表名的方法Yii操作数据库的3种方法

yii2 怎么安装和使用PHPExcel?

在yii2项目的根目录下的composer.json中的require那里加入

"phpoffice/phpexcel": "dev-develop"

然后使用终端(windows使用cmd)进入yii2项目目录

执行以下命令即可:

composer update

使用的话,就很简单,use导入phpexcel类,然后就可以使用了(具体使用请看文档)

yii2怎么删除数据库的一条数据

yii2 删除数据

// DELETE (table name, condition)

Yii::$app-db-createCommand()-delete('user', 'status = 0')-execute();

Yii::$app-db-createCommand('DELETE FROM post WHERE id=1')-execute();

要删除单行数据,首先获取与该行对应的 Active Record 实例,然后调用 yii\db\ActiveRecord::delete() 方法。

$customer = Customer::findOne(123);

$customer-delete();

快速、安全、专业 的 PHP 框架

Yii 是一个 高性能 的,适用于开发 WEB 2.0 应用的 PHP 框架。

Yii 自带了 丰富的功能,包括 MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间。

yii2 布局设置

1、类级别设置

属性

设置布局 public $layout = 'login';

取消布局 public $layout = false;

2、方法级别

设置布局 $this-layout = 'login';

取消布局 $this-layout = false;

3、视图级别

设置布局 $this-context-layout = 'login';

取消布局 $this-context-layout = false;

注:什么都不设置为默认布局,读取views/layouts/main.php文件作为布局文件

yii2 怎么批量删除

yii2 批量删除

删除数据(Deleting Data)

删除单行数据,首先获取与该行对应的 Active Record 实例,然后调用 yii\db\ActiveRecord::delete() 方法。

$customer = Customer::findOne(123);

$customer-delete();

你可以调用 yii\db\ActiveRecord::deleteAll() 方法删除多行甚至全部的数据。例如,

Customer::deleteAll(['status' = Customer::STATUS_INACTIVE])

----------------------------------------------------------------------

提示: 调用 deleteAll() 时要非常小心,因为如果在指定条件时出错, 它可能会完全擦除表中的所有数据。

yii2 composer安装Es和yii2的Elasticsearch操作类

1.在yii2的项目目录中的 composer.json 的require中加入:

3.config/params.php中添加

4.新建一个EsService.php

5.yii2还提供了一个操作Es的类 yii2-elasticsearch

首先引入 yii2-elasticsearch 操作类

composer.json的require中添加:

然后执行: composer update

config/web.php的components中添加:

6.参考某个大佬写了一个公共的类 common\Elasticsearch.php

7.新建一个model model/EsModel

8.controller调用

本文转载自互联网,如有侵权,联系删除

相关推荐