easyadmin 一款基于thinkphp6和layui快速开发的后台管理系统
2022-10-28 15:19:56
202
{{single.collect_count}}

easyadmin官网地址
thinkphp6完全开发文档

环境要求

PHP >= 7.1.0
Mysql >= 5.7.0 (需支持innodb引擎)
Apache 或 Nginx

伪静态配置

通过伪静态配置, 将URL重写隐藏应用的入口文件index.php, 不配置的话, 会存在访问路径不正确的问题。

easyadmin开发注意事项

  1. 后台页面

    每一个html页面都要有对应的模型,控制器,和js文件
    模型命名 对应数据表名
    控制器命名 对应html文件
    Js 对应html文件夹

  2. 控制器

    控制器中需要先实例化模型
    $this->model = new TestInfo();
    后续对数据表进行操作都需要用到

  3. 拼表查询

//如需拼表//需要在主表中加入拼表方法//例如://在TestInfo模型中加入public function info(){return $this->belongsTo('app\admin\model\TestPhone', 'id', 'pid');}//即可在控制器中进行拼表查询$list = $this->mode->withJoin('info', 'LEFT')->select()$data = ['code'=> 0,'msg' => '','data'=> $list, ];return json($data);

js文件中这样写

 {field: 'info.name', width: 100, title: 'name'}

withjoin 用来拼一张表
两张或两张以上的表使用with语法

模型文件中这样写:

public function info(){return $this->belongsTo('app\admin\model\ScienceMenu', 'menuid', 'id');}public function science(){ return $this->belongsTo('app\admin\model\ScienceInfo', 'scienceid', 'id');}public function sort(){return $this->belongsTo('app\admin\model\ScienceSorts', 'sorts', 'id');}

控制器中这样写:

$count = $this->model->where($where)->with('info','science','sort')->count();$list = $this->model->where($where)->with('info','science','sort')->page($page, $limit)->order($this->sort)->select();foreach($list as $k=>$v){$list[$k]['title'] = $v['info']['title'];$list[$k]['name'] = $v['science']['name'];$list[$k]['sname'] = $v['sort']['name'];}

这样即可完成拼多张表查询数据

  1. 其他
    基本的增删改查,图片上传,文件导出,富文本编辑器可以直接参考原框架,用到时修 改我们的模型名即可,
    当不想让查询出来的某个字段来进行搜索时,可以在当前页面的js文件中的字段条件中加上 search:false,
    图片上传时 需要注意数据库中的字段名不可用file,
    Form表单提交时 提交按钮需要加上 lay-submit事件监听,

CURD复用

每个控制器的增删改查都可以继承到
app\admin\traits\Curd;
Curd.php文件 包含了主页信息,新增信息,编辑信息,查询信息,删除信息,导出文件,属性修改
使用时只需要在控制器中带上模型名即可
如需拼表,可直接在原控制器中写入index方法

属性修改可修改的字段在
easyadmin\app\common\controller\AdminController.php
文件中修改
然后在js文件中的字段类型写入 edit:text即可实现属性修改

软删除

一般情况下,业务数据不建议真实删除数据,系统提供了软删除机制(模型中使用软删除更为方便)。
每个新建的数据表中需要加上
create_time,update_time,delete_time三个字段 分别是创建时间,更新时间,删除时间
使用软删除
当删除数据时,数据并不会被真的删除,而是更新了删除时间字段
读表时
系统只会读取表中删除时间字段为空的数据

目前碰到的问题

目前这个框架还存在一些小问题
使用with拼表查询时,所查字段无法进行搜索
已经在github上向作者提出issue,等待修复

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}