关于php:easyswoole超级简易增删改查入门

49次阅读

共计 3299 个字符,预计需要花费 9 分钟才能阅读完成。

框架装置

间接按官网操作
https://www.easyswoole.com/Cn/QuickStart/install.html

数据筹备

CREATE TABLE `cases`  (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `title` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '题目',
  `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '内容',
  `create_time` int(10) NOT NULL COMMENT '创立工夫',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 21 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

轻易写入几条数据

INSERT INTO `test`.`cases`(`id`, `title`, `content`, `create_time`) VALUES (1, '示剑网络副总经理承受电视台采访', 'test', 1536223828);
INSERT INTO `test`.`cases`(`id`, `title`, `content`, `create_time`) VALUES (3, '微信小程序超级入口,新一轮红利又将暴发', 'test', 1605757832);
INSERT INTO `test`.`cases`(`id`, `title`, `content`, `create_time`) VALUES (4, '北京小程序开发公司哪家好?', 'test', 1535963051);

配置 mysql 数据库连贯

关上 easyswoole 根目录下的 dev 文件,跟 MAIN_SERVER 同级,新增

'MYSQL'=>[
     'host' => '你本人的 IP',
     'port' => '端口',
     'user' => 'root',
     'password' => '123456',
     'database' => 'test',
     'timeout' => 5,
     'charset' => 'utf8mb4',
],

批改成你本人的配置

建设模型

在 easyswoole 的 App/Models 对应目录下建设模型 Case.php

写入代码

<?php
namespace AppModels;
use EasySwooleORMAbstractModel;
use EasySwooleMysqliQueryBuilder;
/**
 * 案例模型
 */
class Cases extends AbstractModel
{
     /**
     * @var string
     */ 
    protected $tableName = 'cases'; // 表名
    protected $primaryKey = 'id'; // 主键
 
}

控制器局部

/App/HttpController 目录下,建设 Index.php,写入内容

<?php
namespace AppHttpController;

use App\Models\Cases;
class Index extends Controller
{public function index()
     {}}

接下来能够增删改查了


增删改查之“增”

控制器 Index 里增加代码

public function insert()
{$case = new Cases();
     $case->title = 'aaa';
     $case->content = 'test';
     $case->create_time = time();
     $id = $case->save();
     $this->writeJson(0, [], $id > 0 ? '新增胜利' : '新增失败');
}

浏览器输出
http:// 你本人的 IP:9501/insert

查看数据库,数据增加胜利

增删改查之“查”

控制器 Index 里增加代码

 public function getAll()
 {$request = $this->request();
     $keyword = $request->getRequestParam('keyword');
     $page = $request->getRequestParam('page');
     $case = new Cases();
     $result = $case->getAll($page, $keyword);
     $this->writeJson(0, $result, "success");
 }

模型 /App/Cases.php 增加代码

public function getAll(int $page = 1, string $keyword = null, int $pageSize = 3): array
 {$list = $this->limit($pageSize * ($page - 1), $pageSize)->order($this->primaryKey, 'DESC')->withTotalCount()
     ->all(function (QueryBuilder $queryBuilder) use ($keyword) { // 用 use 能力将内部参数传入闭包
     $queryBuilder->where('title', "%{$keyword}%", 'like');
     });
     $total = $this->lastQueryResult()->getTotalCount(); // 获取后果条数
     return ['total' => $total, 'list' => $list];
 }

到你装 easywoole 下的 Linux 命令行,Ctrl+C, 再输出 php easyswoole start 重启服务
回到 windows,浏览器输出
http:// 你本人的 IP:9501/getAll?keyword= 北京 &page=1

胜利看到返回信息

{"code":0,"result":{"total":10,"list":[{"id":20,"title":"ddd","content":"test","create_time":1605764790},{"id":19,"title":"ccc","content":"test","create_time":1605764790},{"id":18,"title":"ccc","content":"test","create_time":1605764774}]},"msg":"success"}

增删改查之“删”

Index.php 写入代码

public function delete()
{$request = $this->request();
     $id = $request->getRequestParam('id');
     $case = Cases::create()->get($id);
     $count = $case->destroy();
     $this->writeJson(0, [], $count > 0 ? '删除胜利' : '删除失败');
}

重启服务,拜访 你的 IP/delete?id= 你的数据 ID
查看数据库,删除胜利

增删改查之“改”

Index.php 写入代码

public function update()
{$request = $this->request();
     $id = $request->getRequestParam('id');
     $case = Cases::create()->get($id);
     $content = $request->getRequestParam('content');
     $case->content = $content;
     $res = $case->update();
     $this->writeJson(0, [], $res ? '批改胜利' : '批改失败');
}

重启服务,拜访 你的 IP/update?id= 你的 ID&content= 你的内容
查看数据库,删除胜利

编码查问语句过程中,如果有什么疑难,就翻下文档吧
https://www.easyswoole.com/Cn/Components/Orm/update.html

就这么简略,搞定

正文完
 0