easyadmin 一款基于thinkphp6和layui快速开发的后台管理系统

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,等待修复

你可能感兴趣的:(php)